{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Tutorial 5\n",
    "\n",
    "April 17"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Importing the libraries \n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import *\n",
    "from sklearn.datasets import load_boston,load_diabetes\n",
    "import pandas as pd\n",
    "import seaborn as sns \n",
    "from sklearn.model_selection import train_test_split, cross_val_score\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from numpy.linalg import inv\n",
    "from sklearn.linear_model import Ridge\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "from sklearn.pipeline import make_pipeline\n",
    "from sklearn.metrics import mean_squared_error, r2_score"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Linear Model VS Polynomial model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Linear Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      CRIM    ZN  INDUS  CHAS    NOX     RM   AGE     DIS  RAD    TAX  \\\n",
      "0  0.00632  18.0   2.31   0.0  0.538  6.575  65.2  4.0900  1.0  296.0   \n",
      "1  0.02731   0.0   7.07   0.0  0.469  6.421  78.9  4.9671  2.0  242.0   \n",
      "2  0.02729   0.0   7.07   0.0  0.469  7.185  61.1  4.9671  2.0  242.0   \n",
      "3  0.03237   0.0   2.18   0.0  0.458  6.998  45.8  6.0622  3.0  222.0   \n",
      "4  0.06905   0.0   2.18   0.0  0.458  7.147  54.2  6.0622  3.0  222.0   \n",
      "\n",
      "   PTRATIO       B  LSTAT  PRICE  \n",
      "0     15.3  396.90   4.98   24.0  \n",
      "1     17.8  396.90   9.14   21.6  \n",
      "2     17.8  392.83   4.03   34.7  \n",
      "3     18.7  394.63   2.94   33.4  \n",
      "4     18.7  396.90   5.33   36.2  \n"
     ]
    }
   ],
   "source": [
    "boston = load_boston()\n",
    "bos = pd.DataFrame(boston.data)\n",
    "bos.columns = boston.feature_names\n",
    "bos['PRICE'] = boston.target\n",
    "print(bos.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(20,8))\n",
    "\n",
    "features = ['LSTAT']\n",
    "target = bos['PRICE']\n",
    "\n",
    "for i, col in enumerate(features):\n",
    "    plt.subplot(1, len(features) , i+1)\n",
    "    x = bos[col]\n",
    "    y = target\n",
    "    plt.scatter(x, y, marker='o')\n",
    "    plt.title(\"Variation in House prices\")\n",
    "    plt.xlabel(col)\n",
    "    plt.ylabel('\"House prices in $1000\"')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = bos['LSTAT']\n",
    "y_price = bos['PRICE']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(506, 1)\n",
      "(506, 1)\n"
     ]
    }
   ],
   "source": [
    "X = np.array(X).reshape(-1,1)\n",
    "y_price = np.array(y_price).reshape(-1,1)\n",
    "\n",
    "print(X.shape)\n",
    "print(y_price.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(404, 1)\n",
      "(102, 1)\n",
      "(404, 1)\n",
      "(102, 1)\n"
     ]
    }
   ],
   "source": [
    "X_train, X_test, Y_train, Y_test = train_test_split(X, y_price, test_size = 0.2, random_state=5)\n",
    "\n",
    "print(X_train.shape)\n",
    "print(X_test.shape)\n",
    "print(Y_train.shape)\n",
    "print(Y_test.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The model performance for testing set is\n",
      "RMSE is 6.2307165730986815\n",
      "R2 score is 0.5\n"
     ]
    }
   ],
   "source": [
    "reg_1 = LinearRegression()\n",
    "reg_1.fit(X_train, Y_train)\n",
    "\n",
    "y_predict = reg_1.predict(X_test)\n",
    "rmse = (np.sqrt(mean_squared_error(Y_test, y_predict)))\n",
    "r2 = round(reg_1.score(X_test, Y_test),2)\n",
    "\n",
    "print(\"The model performance for testing set is\")\n",
    "print('RMSE is {}'.format(rmse))\n",
    "print('R2 score is {}'.format(r2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.97981166]])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg_1.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([34.87291568])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg_1.intercept_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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52ZmZnLLLbfwq1/9ihNOOCFBEicXqggURWmyfPPNNzz++OPMmDGDffv2ebWJCJdeeimTJk3i7LPPRkQSJGXi0fBRRVGaLMcddxwPPvggO3fu5Omnn2bAgAF1bcYY5s2bx6hRozj11FN54YUXqKysTKC0yY8qAkVRGi0tW7bk1ltvZd26dSxevJiLL77Yq3316tXcdNNN9OrViz/84Q9+qwfFQhWBoiiNHhHhggsuYMGCBWzcuJGf/OQnpKcfi6765ptv+P3vf0+PHj340Y9+xIYNGxIobfKhikBRlCZFv379eOKJJ9i1axcPP/wwXbt2rWs7cuQITz/9NAMHDmT06NEsXLiQ2traBEqbHKgiUBSlSdK+fXvuvfdevvrqK1588UWGDh3q1b548WLGjBnDwIED+fe//015eXmCJE08qggURWnStGjRguuvv54VK1bw0Ucfcfnll+NwHBv63KakHj168Nvf/pY9e/YkUNrEoIpAUZRmgYjwve99jzlz5rBlyxYmTpxIVlZWXfv+/ft5+OGH6dWrFz/4wQ9YuXJlAqVtWFQRKIrS7Dj++ON59NFH2b17N4888gi9evWqa6uqquLFF18kLy+Ps846izfeeIOamprgnTUBVBEoitJsad26NZMmTWLLli3MmTOHM88806t96dKlXH755Zx00kn8/e9/p7S0NEGSxhdVBIqiNHtSU1O5/PLLWbp0KStWrOC6664jNTW1rn3btm1MnDiRbt26ceedd7J9+/bECRsHEqIIROQiEdksIl+KyJREyKAoihKIvLw8XnrpJbZv3869995Lu3bt6tpKSkp45JFH6NOnD1deeSXLli2jMZTpCUeDKwIRSQH+DxgD9AeuFZH+DS2HoihKKHJycnj44YfZtWsXTzzxBH37HtuHoba2ts6UNGzYMF555RWqqqoSKG39SMSK4HTgS2PMNmPMUWAmMD4BciiKooQlIyODn/zkJ3z++ecsWLCA888/36vdbUrq3bs306ZN48CBAwmSNHoSoQhygF0en3e7jimKoiQtDoeDiy++mHfeeYe1a9dy6623kpaWVtdeVFTEvffeS7du3fjpT3/K5s2NZ0vNRCiCQDVh/YxsIvJjESkQkQItFKUoSjIxaNAgnn76aXbu3MkDDzxA586d69oqKiqYMWMG/fr1Y+zYsbz77rtJ70dIhCLYDXT3+NwN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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Plot the model fitted with a line\n",
    "prediction_space = np.linspace(min(X), max(X)).reshape(-1,1) \n",
    "plt.scatter(X,y_price)\n",
    "plt.plot(prediction_space, reg_1.predict(prediction_space), color = 'black', linewidth = 3)\n",
    "plt.ylabel('value of house/1000($)')\n",
    "plt.xlabel('lower status of the population')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Polynomial model\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Pipeline(memory=None,\n",
       "     steps=[('polynomialfeatures', PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)), ('ridge', Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,\n",
       "   normalize=False, random_state=None, solver='auto', tol=0.001))])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "degree = 2\n",
    "model = make_pipeline(PolynomialFeatures(2), Ridge())\n",
    "model.fit(X_train, Y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_train_predict = model.predict(X_test)\n",
    "rmse = (np.sqrt(mean_squared_error(Y_test, y_train_predict)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The model performance for testing set is\n",
      "RMSE is 5.332057393135782\n",
      "R2 score is 0.64\n"
     ]
    }
   ],
   "source": [
    "y_predict = model.predict(X_test)\n",
    "rmse = (np.sqrt(mean_squared_error(Y_test, y_predict)))\n",
    "r2 = round(model.score(X_test, Y_test),2)\n",
    "\n",
    "print(\"The model performance for testing set is\")\n",
    "print('RMSE is {}'.format(rmse))\n",
    "print('R2 score is {}'.format(r2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEKCAYAAAAfGVI8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xt8XHWZ+PHPkzTQtKWEpgVLsQkiVqlIqxX5WZVbFQRWqouw7rQUdAm0ohW0Us3qIm6WusgC/jCpQYW2ZLkp91uhpQh2BWxpy9XiKkmlVGhDYy8pmCbP/nHOpJPJOXPOTOZyZuZ5v155ZebMmZlnJu15zvlenq+oKsYYY8pXRaEDMMYYU1iWCIwxpsxZIjDGmDJnicAYY8qcJQJjjClzlgiMMabMWSIwxpgyZ4nAGGPKnCUCY4wpc8MKHUAYY8eO1fr6+kKHYYwxRWXt2rXbVHVc0H5FkQjq6+tZs2ZNocMwxpiiIiIdYfazpiFjjClzlgiMMabMWSIwxpgyZ4nAGGPKnCUCY4wpczkdNSQi7cBOoBfYq6rTRGQMcBtQD7QDZ6vq9lzGkY67123mquUbeb1rD4fWVLPglEnMnDoh4/2MMSbq8nFFcKKqTlHVae79hcBKVT0SWOnej4S7123mO3c+z+auPSiwuWsP37nzee5etzmj/YwxphgUomnoTGCJe3sJMLMAMXi6avlG9vT0Dti2p6eXq5ZvzGg/Y4wpBrlOBAo8IiJrRaTB3XaIqm4BcH8f7PVEEWkQkTUismbr1q05DtPxeteeUNvD7meMMcUg14lguqp+GPgs8FUR+VTYJ6pqq6pOU9Vp48YFzpDOikNrqkNtD7ufMcYUg5wmAlV93f39JnAXcCzwhoiMB3B/v5nLGNKx4JRJVFdVDthWXVXJglMmZbSfMcYUg5yNGhKRkUCFqu50b38GuAK4F5gDLHJ/35OrGNIVH/UTNBoo7H7JbKSRMSaKRFVz88Ii78G5CgAn4fy3qjaJSC1wOzAR2AR8UVXfSvVa06ZN02IvOhcfaZTYyVxdVcmVXzjakoExJidEZG3CiE1fObsiUNU/A8d4bO8ETs7V+0ZVqpFGlgiMMYVkM4vzxEYaGWOiyhJBnthII2NMVFkiyBMbaWSMiaqiWKGsFGQ60sgYY3LNEkEezZw6wQ78xpjIsaYhY4wpc5YIjDGmzFkiMMaYMmeJwBhjypwlAmOMKXOWCIwxpsxZIjDGmDJnicAYY8qcJQJjjClzlgiMMabMWYmJNNgKY8aYUmSJIKTkFcY2d+3hO3c+D2DJwBhT1KxpKKRUK4wZY0wxs0QQkq0wZowpVZYIQrIVxowxpcr6CFJI7ByuGVFFVYXQ06f9j9sKY8aYUmCJwEdy5/D27h6qKoWa6ir+tqfHRg0ZY0qGJQIfXp3DPb3KyP2Hsf7fPlOgqIwxJvusj8CHdQ4bY8qFJQIf1jlsjCkXlgh8LDhlEtVVlQO2WeewMaYUWR+Bj3gnsJWUMMaUOksEKcycOsEO/MaYkmdNQ8YYU+YsERhjTJmzRGCMMWXO+giGwNYnMMaUAksEGbL1CYwxpcKahjJk6xMYY0qFJYIMWQkKY0ypsESQIStBYYwpFaESgYhUiMhUETldRE4SkUNyHVjUWQkKY0ypSNlZLCJHAJcBM4A/AluB4cD7RKQb+BmwRFX7UrxGJbAG2KyqZ4jI4cCtwBjgWWC2qv49Gx8mn6wEhTGmVIiq+j8ocgvQAjypSTuKyMHAPwPbVXVJite4FJgGjHYTwe3Anap6q4gsBjaoakuqIKdNm6Zr1qwJ/aGMMcaAiKxV1WlB+6VsGlLVL6nqE8lJwH3sTVW9NiAJHAacDvzcvS/AScCv3F2WADODgjTGGJM7aXcWi8h0ETnVPagHuRb4NhBvOqoFulR1r3v/NcCzLUVEGkRkjYis2bp1a7phGmOMCSkwEYjIUhGZ7N6+CLge+Brwi4DnnQG8qaprEzd77OrZNqWqrao6TVWnjRs3LihMY4wxGQrqLK7Dad/f6d6+ECcJvAY8KCITcc7wd3g8fTrwORE5DaeDeTTOFUKNiAxzrwoOA17P2qcxxhiTtqArghOAA4FTgc8BNcB7gOOBSvfxeq8nqup3VPUwVa0H/gl4TFVjwCrgLHe3OcA9Q/kAxhhjhiaos3gJcB/wReBcYLGqLsXp7H1DVZeq6nNpvudlwKUi8r84fQYpm5iyoa2tjfr6eioqKqivr6etrS3Xb2mMMUUjTNG5ecApwN9VdaW7rRZYEPZNVPVx4HH39p+BY9OKcgja2tpoaGigu7sbgI6ODhoaGgCIxWL5CsMYYyIr5TyCqBjKPIL6+no6OjoGba+rq6O9vX2IkRljTHRlZR6BiNwnIv8gIlUej71HRK4QkS8PJdBc27RpU1rbjTGm3AQ1DV0AXApcKyJvsa/ERD3wJ+B6VY10Z+/EiRM9rwgmTpw4aJstNGOMKUcpE4Gq/hVnQti3RaQeGA/sAV5R1e6cR5cFTU1NA/oIAEaMGEFTU9OA/WyhGWNMuQpbffQQnCJxbwNbiiUJgNMh3NraSl1dHSJCXV0dra2tgzqKbaEZY0y5CppQNgVYjDOXYLO7+TAR6QLmqeqzOY4vK2KxWOAIIVtoxhhTroL6CG4CLlTVpxM3ishxwI3AMTmKK+8Oralms8dB3xaaMcaUuqCmoZHJSQBAVZ8CRuYmpMKwhWaMMeUq6IrgIRF5AFgK/MXd9m6cWcYP5zKwfLOFZowx5Spo1NDXReSzwJk45aIFp+DcT1X1wTzEl1e7X3qczYsb2bRpEzpxIrvf3QRT8zf72IavGmMKIbDEhKo+BDyUh1gKqtClKGz4qjGmUIJmFh8oIotE5GUR6XR/Xna31eQryHxobGwcMNcAoLu7m/nz5+fl/W34qjGmUII6i28HtgMnqmqtqtYCJwJdwB25Di6f/EpOdHZ25qVaqQ1fNcYUSlAiqFfVH7kzjAFntrGqLgIG12goYl4lJ+IaGxtz9r53r9vM9EWPeS/Thg1fNcbkXlAi6BCRb7sziwFnlrGIXMa+UUQlIbnkRKKOjo6crGMQ7xfwmr8ANnzVGJMfQYngHJy1B34jIttFZDvOugJjgLNzHFvWxM+6D1/4ANMXPcbd6zYP2icWi1FbW+v7GvHO42wmA69+gbgJNdVc+YWjraPYGJNzJb8eQfJoHHDOtL0Osskjh7xkcx2Dwxc+4NkkJMCri07PynsYY8pXVtYjcF/oFBFpEZF7ReQe9/ap2Qkz99IZjZNYoM5PNtcx8Gv/t34BY0w+BQ0fvRaYD/wG+E/gKvf210XkutyHN3TpjsaJxWK0t7f7JoNUncrpsrIWxpgoCLoiOE1VT1PVW1X1t+7PrcDpwGl5iG/IMj3rbmpqYsSIEQO27bfffuzatYuKioqsdB7PnDqBK79wNBNqqhGsX8AYUxhBM4vfFpFjVfWZpO0fxVmbIPIWnDLJs48g6Kw7Ppu4sdEpOTFmzBh27NhBZ2cnkL2ZxzOnTrADvzGmoFJ2FovIh4EW4ACcGkPgFJ3bgbMewdqcR8jQOoshOzV86uvrPZe8zGbnsTHGZFPYzuJQo4ZE5F0kFJ1LnGCWD0NNBNlQUVGB33dVWVlJQ0MDzc3NoV7LissZY/Iha6OGoH828VpVXRNPAiLy/qEGWUxSdRL39vbS0tLCjBkzAl8ncRKZsq+4nNfcBmOMyYdQicDHI1mLogh4dR4nW7lyJfPmzUu5jxWXM8ZETdCaxT/xewgoqeqjQRI7j736CuIWL17M9OnTfTuQrbicMSZqgq4IzgdeANYm/awB/p7b0KInPsegsrLSdx9VTVmkziaRGWOiJigR/B54QVWXJP8AO/MQXyTFh436STX7eCiTyMLUTDLGmHQFzSM4C/Bss1DVw7MfTnFobm7mlVdeYeXKlZ6Pp+pYznRtZFvBzBiTK0FXBFcCp4rIAfkIppisWLGCuXPnIiIDto8YMYLTTjuN+vp63xnIM6dOYPXCk3h10emsXnhSqAO5dTIbY3IlKBHcCBwDPCgiK0XkMhE5Jg9xFYXm5maWLVtGXV0dIkJdXR1z5sxhyZIldHR0oKpZK19tnczGmFxJ2TSkqk8BTwGXi0gt8BngmyJyNLAOeFhVb899mNEVi8UGjBCqr6/3XPt4zpw5/ftn4tCaas8FbKyT2RgzVKHnEahqp6reoqrnqupU4KfAkbkLrTj5dRT39vYye/bswHkGfqxSqTEmV0IlAnd5yl+IyEPu/aOAKarqv75jmUrVUayqoWcgJytUpVIbqWRM6Qtba+ghnP6CRlU9RkSGAetU9ehcBwjRqDUUVphVzgBOPvlkVqxYkaeoMpPO6m7GmOjJaq0hYKzbF9AHoKp7Ae/FdstcfJWzVJPOwClHkcmVQT7ZSCVjykPYRLDb7SxWABE5DvhbzqIqcrFYjCVLlgwaWpos6snARioZUx7CJoJLgXuBI0RkNbAU+FqqJ4jIcBF5RkQ2iMiLIvIDd/vhIvK0iPxRRG4Tkf2G9AkKJKjtPBaLcdFFFwW+TphCdYVqp7dyGMaUh7BlqJ8Fjgc+DlwITFbV5wKe9g5wkqoeA0zBmZh2HPAj4BpVPRLYDnwl0+ALJWwp6ebmZk4++eTA12tpafFNBoUsW20jlYwpD2FHDX0RqFbVF4GZwG3u6mW+1LHLvVvl/ihwEvArd/sS9/WKSjpt5ytWrAiVDBYvXuw56ayQ7fS2prIx5SGo1lDc91T1DhH5BHAK8GOcJSw/lupJIlKJU630vTjzDv4EdLmdzeAsf+l5VBGRBqABUg/JLIR0285XrFjBjBkzfGsTgTO01GvSWaHb6W1NZWNKX9g+gvgp6elAi6reAwS27atqr6pOAQ4DjgU+4LWbz3NbVXWaqk4bN25cyDDzI5O28zBXBr29vYPKUVg7vTEm18Imgs0i8jPgbJy6Q/un8VxUtQt4HDgOqHHnIYCTIF4PH240ZNp2Hi9Ul0p3dzezZs3qL1bn9V5VlcLud/baJC9jTFaEPZifDSwHTnUP6mOABameICLjRKTGvV0NzABeBlbhlLcGmAPck0HcBTWUtvPm5mbPqqXJOjo6+PKXv8zulx4f8F4HjagCha49PbbmsTEmK8LOLPZspFdV3xVYRORDOJ3BlTgJ53ZVvUJE3gPcipNM1gGzVPWdVO9fTDOLw7qk6Xqu/d580L6U+9XW1rJt27b++9MXPeZZfG5CTTWrF56U9TiNMcUr7MzisJ3FD+C05QswHDgc2AhM9nuCO7x0qsf2P+P0F5Stu9dt5uG330vt6Zfw1sPXo3v982BnZ+eA+4XuPDbGlJ6w8wiOVtUPub+PxDmQ/za3oZWu+JDQUZNPZMypF1M5OnVneOICN9Z5bIzJttAdvoncCWYfzXIsRSmTWb+JZ++jJp/IYXNvRIb7LwIXX+Bm1qxZjF67JFKTvKw6qTHFL1TTkIhcmnC3AvgwsDUnERWRTNcR9lpkZsyMBjofvBb6Utfye/hXSzn1LNjxkTlprXmcC7aOsjGlIewVwQEJP/vj9BmcmaugikWms369hoSOmzKDb1xxbf+yl6k8/KulHLPpV2mteZwLVp3UYVdFptiFuiJQ1XjBuAOcu/2lI8paph238QP3Vcs3Jp3Vn8o1jRcDBCaDlpYWXnnllYKuaWAd13ZVZEpD2KahDwLLcIZ8IiLbgDmq+kIOY4u8oawjHFS6oba2dtCIoWTxyqXNzc3BweaAraOc+qrIEoEpFmGbhlqBS1W1TlXrgG+628paLqtzzr7kcpzRuqm1tLR4FqvLB6tOaldFpjSETQQjVXVV/I6qPg6MzElERSSdGcbptiM/U3kUtWdcClX7B8aRXJ8oX6w6qdWCMqUh7Mziu4BncZqHAGYB01Q1LyWki31mcSZr/x6+8IH+anzbljeze/2DKd9j3PgJHPn1pQUfSVRubF1nE2XZXrP4y8A44E7gLvf2+ZmHV14yGV2TeEY59pR57DfxmJTvsXXL6wVZvKbc2VWRKQWhrggKrdivCBLP7hMJ8Oqi0z2f43Wm2bWihb+tfcBzfxl+ABX7Dad3xzYqR4+l5lPnMmn6aVZ/yJgyltUrAhF5n4i0isgjIvJY/GfoYZaHTNqRvc40b7rhZ9x8882MGDFi4M5SifbsoXfHVkDp3bGVzvuv5rnbrs7ehzDGlKywRefuABYDP2ffIjUmpAWnTPJsRw4aXeM5xHSqs3pZY2MjmzZtYuLEiWzeup293TsGPX/X+gcLOrzUGFMcwnYWr1XVj+QhHk/F3jQETlPP4Alk2WlHrqiowO/vKCIsW7ZswPKXxpjykJUy1CIyxr15n4jMw+ko7q+ZrKpvDSnKEuV30M9VB+LEiRPp6OjwfExVuWTBZTT/ZbyNKDLGeApqGlrLvnUIYOCqZAq8JxdBFbOgkgO5uDJoampi9uzZvlcFW7e8zgh3gpOVQDDGJLNRQ1nmt4JYpQi9qggMGEEUNOY8bOKYN28eLS0tnq9hI4qMKU/ZnkdgQvIrLdDrJtzktJtqPkH86iJxfsA3blvPlB88MmiOgO9ayFKJvrN74Iiih65j4+rUE9SMMeXDEkGWZVJawC95eE1EA2fheq8JY83NzSxbtqy/lHVdXR0yrGrwusi9e+m8/78KVqPIGBMtKROBiEx3fwcXvDGAdyG2IH7JI1XhMr8riVgsRnt7O319fbS3t6M9b/u8gjJr1ixGjRplCcGYMhd0RfAT9/fvch1IqYhPBKsMWE8gLtV8gqCri2xUuNy9ezezZs1ixowZQ34tY0xxCkoEPSJyIzBBRH6S/JOPAIvRzKkT6AvRCR9Ulybo6iJMM9QBB9YE7gPO2gaTJ08Ota8xprQEDR89A5gBnIQzlNSE5LdoS1y7T42hRPEE8YP7XmR7d8+Ax8LW/W/56fXMOe98evf2BO770ksvMWPGjIKtepbLSXfGGH8pE4GqbgNuFZGXVXVDnmIqCQtOmcQlt633LDY3wedMPtVEtEwPkvEZxfPnzw9c8QycK4P3nfNdeg6fTs2IKlThb3t6cn5gtiUfjSmcsCUmDgP+PzAdZwTkb4H5qvpabsNzFNM8gkT/evfztD21KdS8gXzUtU811yBR5ehxHDb3xkHbc1ln32/+xYSaapvvYEyGws4jCJsIHgX+m4EL08RU9dNDijKkYk0EEL65I9VEtD7VUGfkYd6rra2NWXPOh96gpiLpn3w2avKJAx6ZkIOrg0xKdRtjUstKraEEB6tq4iniTSLyjcxCKy9hawwFTUQLaioJ27QSi8Vo/st4nr7qPHrf+kuKiJzJZ289fD3AgGSQi2Ybvz6VMB3i1rdgzNCEnVC2VURmiUil+zMLCG5wNsC+9YrrFz7AEd95kHqPdYvDHPBSzUJOZxW0BadM4rALWgJXPQPQve/Qef/VvNZyPrte7F+2OnBGdDrrM8djSh4hFaZD3Gv2ta3OZkx60lmq8mzgr8AW4Cx3mwmQeKCCwWf48QNW2IloflcO6WyfOXUCNdVVjP9SE7VnfJPK0ePYV1fQW3yxm23L961t4PXamR6YM13yMZNlQI0xA4VqGlLVTcDnchxLSfIrEwH7DliJzUfxJo4Kt0hdslSrnYVpWok3o3Tt6UFwmnzizT6vtZzv1iTyt3v9g+xe/yAjp5zGMed8M9TnTfycqWRSqjvdxBgl1qRlosJqDeVY0AEp8fGZUyeweuFJvLrodK4++5i0mkrCNK0kX50k1hefUFPN1779/cHLYPrYvf5BRq9dkvLzhNmeSTNSokyWAY0Ca9IyUWKJIMeCDkh+j6fbVBLfv6a6qn/b8KqBf16vs3Vl3xDNaxovprW1lbq6uuAPBjx61+AaRX6fR2HQgT4bB8NM+xYKzZq0TJRYIsixVG3/QQesxCuE1QtPCtVs8M7efZVGt3cPrFIa5mw9XrTu5ptvHlzSOklvb++gs/lUnzf5QJ+Ng2GmfQuFVsxNWqb0hOojEJFDgP8ADlXVz4rIUcD/U9Vf5DS6EpDY9r+5a0//AjW5GIsf1D6fzhDNWCzG6tWrWbx4se/KZ4jwux/MRN/eSTvwj1eM5uuNTVz5hc/3f95kifFk62CYy2VAc2Uow2WNybaw8whuAm4EGt37rwC3AZYIQsjXgSrowLrglEmes5f9rkqam5uZPn06F110Ebt27Rq8gyr69s7+u317dnDtv36Ndza/xOrmZt9JYvF4yvlgmO7fwphcCts0NFZVbwf6AFR1L+A9FMYUTFDHaSbNKLFYjGVP/IEDP3I6iPvPRSpgmP8SFYsXL6atrS0wngWnTKKqYmDzU1WF5P1gONQO60wUa5OWKU1hrwh2i0gt7kqLInIc8LdUTxCRdwNLgXfhJJBWVb1ORMbgXE3UA+3A2aq6PaPozQBhzjKTh6nG2+NTHYCuWr6RmhlzqZkxt39bx4/+wXd/VWfRm3HjJzDsY//MfpOO941n0PSFcMs4ANkZflnIYnfF2KRlSlPYK4JLgXuBI0RkNc4B/msBz9kLfFNVPwAcB3zV7VtYCKxU1SOBle59kwVhzjIzGanj1eRUOXpsYDxbt2xmy91Xsenqz7P7xVWD4rlq+UZ6egc2HvX0aqjO4mwNv7TRO8aEn1D2rIgcD0zCOWfbqKopq5ap6hacWcio6k4ReRmYAJwJnODutgR4HLgsk+DNYEFnmZlM+PJqy6/51Ll0Pngt9AW3EOreHroevo55/zSVmVP3VRIdSmfxUCauhXkvG71jyknYUUPnJm36sIigqktDPr8emAo8DRziJglUdYuIHBw+XDNUmRz4vJqcxk2Zwezj6rnhyoXs3r078H337t3LrNnncslt6xlx1AnOfAcBr97kMJ3F2TqA57vD2mYTmygK2zT00YSfTwKXE7LkhIiMAn4NfENVd4QNTEQaRGSNiKzZujV12QMTnt8BrkLEt1nFr8npmsaLufnJjYyfucCtVxRA+9h634/ZtryZrj09eI1KDTtyJp2Ja6nkc0KazSY2URVqPYJBTxI5EFimqimTgYhUAfcDy1X1v9xtG4ET3KuB8cDjqpryf10xr0cQNV4L4MRlsvBM4joKu15cRef9V4d6XkX1ARx0csOA8taVIlx99jGh3v9f736em5/a5Pt4Op8lX2fptviOybdsr0eQrBs4MiAAwZln8HI8CbjuBeYAi9zf92QYg0lT/IAXpgheWIlNMaMmn8jO51bw903Bq5r27dk5aK2DPtXQ773qD6mvEtP5LFGZ52FMoYRqGhKR+0TkXvfnfmAjwQfw6cBs4CQRWe/+nIaTAD4tIn8EPu3eNzmWXHDOTyZt7InGf6mJkVNOC/Xc5LUO0mmXDxNn1A6wxVogz5S+sEtVHp9wdy/Qka/1isGahuKG0oTh1yyRLN1mCq+mpgqciSPpNBU5hLlzL6K5uTlwzzCfJ51lPvMhH+tSG5MobNNQqCsCVf1Nws/qfCYB4xhqR2OYs+NMOkmTO5JrqquorHRmhY2afGLoqwOH0tLSgogwduxY2toGVzeNC7OQT69qpDplbTaxiaqUVwQishPPAX7OwD9VHZ2rwBLZFcHQOxr9np/ts2av99n14iq6VrbSu2enz7O8VVRUsHTpUmKxmOfjiVdIB1ZXIQJd3T2+i/pYp6wpN1npLFbVA7IXkhmKoXY0+pWfyPYZqVc8oyafyAGTT+Tfj+6isbGRjo6OUK/V19fH/PnzfROBXyfv4Qsf8Nw/TNOYMUFKcS5IWusRiMjBIjIx/pOroMxgQ+1ozFezRKo4E9c6CLsSWmdnZ9ZiECh485ApbqU6FyTsqKHPuaN8XgV+g1Ms7qEcxmWSZGPiUyYL3aQrTJyxWIzW1lZGjRoV6jWP+dgnEZH+n2M+9snAGLxq1ylYDSEzJKVamyrsFcEPcQrHvaKqhwMnA6tzFpUZpJg6Gvcftu+f1UEjqjzjjMVi7Ny5k7lz56ZeCU0qeO6Z3w7Y9Nwzv02ZDGZOneDZsQXRG1IaBYUow12sSnUuSNgJZT2q2ikiFSJSoaqrRORHOY3MDBL1ssVewyPf7ulL8Qxn8Zvm5mbeddyZvPH0vQMfrBwGvXs9n5ecHJJNKONFb9JRyDLcxahUF1MKe0XQ5dYMegJoE5HrcOYTGNNvKJfNw09ooPaMb7o1i4TK0eOo/ez8lM8ZNWpUf3NRZWUl8+bN638sG01p5XCmXKpNHbmSy9pUbW1t1NfXU1FRQX19fcrh09kWNhGciVNW4hLgYeBPgP/KJKYsZXrZfPe6zQjO6KLD5t5I3WX3cdjcGwfUIfKSWPW0r69vwByE3S89PqSmtFLtFExWqk0duZKrJtq2tjYaGhro6OhAVeno6KChoSFvySDszOJLgDsKNZHM5hEUh0znOvg9TwB96Id0PPd0RvHU1tZy3XXX+Q4/TaVcCsSVy+eMuvr6es9h1XV1dbS3t2f8ulmdWQyMBpaLyJMi8lUROSTjyEzJyvSy2e/sU4H2DU/xoWM/kVE8nZ2dzJo1q3+WcjpNPeVyppzPMtzG36ZN3pV0/bZnW9gSEz9Q1cnAV4FDgd+IyIqcRmaKTqaXzX4dbRPc7RuefhJV7f+pq6tLKy4nIczmvAsuDN3UUy4F4oppNFopmzjRe1qW3/ZsS7cM9ZvAX4FOwFYWM4NkMrLJb9az31lpU1MTc+bMobc3eJnMfZS/rX2AYePf39/3sKenl8vvfdEz3nRjKmZRH41WDpqammhoaKC7u7t/24gRI2hqasrL+4ddqnIucA4wDvgVcIGqvpTLwEz5SFzMPsy0/Xib/4UXXhhqmcxEnfdf3V8RtaL6AHad3MDd6yYPeq90Y8pEKZYqMJmJ/5tubGxk06ZNTJw4kaampoz6tzIRtrN4EXCrqq7PfUiDWWexSWXevHm0tLRk9uTKYRz5jwt45bb/yG5QAawktcmHbJehXlioJGByo5TGyDc3N3PzzTf39x2knKmcrHcvf7rv+ryP37bx+6WjkOP/syWtonOmNJTiGPl4QTtVpa+vL7h0RYK+PTsHjN9OHGmUK+UyKqnUFXr8f7ZYIihD5XA22tzczLJly6irq+ufeZyOzs7OnP6HLpdRSaWora2NsWPHIiLMmjVrQAcvQHdFWNVjAAAQ8UlEQVR3N42NjQWKLjOWCMpQuZyNxq8S+vr6WLJkCVVVVWk9v7u7mzlz5uTkkt/G7xentrY2zj///MDy6Pka/58tlgjKUCmcjabbxxGLxbjxxhupra3t31ZbWzvgvpfe3t7+S/7Zs2cjIllJCjZ+vzg1NjbS09MTuF++xv9nS6hRQ4Vmo4ayq9hHrGQz/ngbb/LlfRAR6Z/cls9hfmHZ0NTcqKioIOiYOWLECFpbWyPxbyLsqCFLBGWqmA4UybF2/30v27sHn5VlWh+nra2NORfMTXtN5bhhw4b1XzlUVlbS0NBAc3NzRq+VDcWe6KPMryZQ3P41BzP3W9/jmsaL8xiVP0sEpiR4HdT8CPDqotMzep/DFz7AzhdX0fXEUnp3bAMR0NRrKaRy6lnnsuMjcwqSaK2QXO60tbUx69w50Jf077FyGLWfnc+oySdGKulmZfF6YwrNa4STn6H0cRxaU83mySf2l5/Y9eIq3nr4enTvOxm93sO/XkblIw/Ru2Mbfxk9lnlPnwffn5+Xg0O5DAYohFgsxpr27VzX9F3UvYKsqD6Ag05uGFC65KrlGyORCMKyzmITaWEPXlUVQvff92Y8QS55FM+oySfyrjO+zrjxzn/mtCapAajSu2Mr4Pz+6/0/4duLfpqXyUelMBggyq5pvJg7V7/Mx69cSd1l9/Pur98yaO2MYku6lghMpPkdvGqqq/pH3NRUV4HA9u6ejCfIeY3iaf7+fN58/TVUtX9OQqZ07zv86b7rB00+mjVrFiLCsGHDBqywNhQ2NDX3Zk6dwOqFJ/VXyE1WbEnXmoZMpPlVAb38c/sKxU1f9BhdewZ2Hu/p6eWbt28Awq+9m6oK58ijTmDCRb+Erj3sSuhLkKr90Z63Q71+356d+I1N6u3t7a+XNNSO5nwUzDOOUqlSa53FJvKCRjgdvvAB/P4VZ6PjLqjDetvyZnZveBi0j8rKSobttx/v7MmsaaCyspK9e2058GIS5RF4NmrIlA2/UTJxQx0tE/T6ye/R1tbGV/7lAt55e99z9h9ezaiRIwJnpAKB49RLXVtbW8HKMZeabC9VaUxkebWJJxpqx13Q85ObAmKxGL/4+Q39dY7q6ur4xc9v4LrrrmPEiBEpXyvdmkiJ4h3RIkJFRQUi0l9nKVszonOtVIq4FRtLBCbygspJxDt6K31G9gy14y7V8/1KQyTWOWpvbycWixGLxWhtbU3Z6dzQ0JBRjIkHUBh4VdHX58yH8DuoJiaQYcOG+SaNfIx4amxsLIkibsXGmoZMpKUzSzZXM2pz9brz5s2jtbWV3t7eIc9IDprxmqiuro729nYgdYmNxFIJXvvlopSCXwkHEelPaCY86yMwJSHdWbK56riLcocghKuBE5d4UA1KIPGk4bdfYlLJhny9T7mwmcWmJKQ7SzZXC7FHfYH3iRMnhr4iSKyMGVQuOf64337ZLrdc6EXcy5X1EZhIs1my4TQ1NbH/8ODvJPmgGlQuOf64337ZLrec2I8S72iPSiXPUmaJwESazZINZ+RRJzDm1IupHD1u0GMVFc5/c6+DalNTk+9IpsSk4bVfrs7UvTraTW5Z05CJNJslG85Vyzey36TjOWzS8QO2B82hiB9kGxsb6ejooLKykt7e3kHrLMSLrbX8+Ie807WV/WvG0fCt79lBukTkrLNYRH4JnAG8qaofdLeNAW4D6oF24GxV3R70WtZZbExqfrOrh1KaO5GtcVCcojCh7Cbg1KRtC4GVqnoksNK9b4wZolz3pXiVA4+XWzbFL2eJQFWfAN5K2nwmsMS9vQSYmav3N6acZKMvJdXEPVvjoLTlu4/gEFXdAqCqW0Tk4Dy/vzElaah9KclNP/FS3vHXPrSm2nM+h43eKg2R7SwWkQagAbI/RM2YUjSUuQ6pmn5mTp1QMuWWjbd8Dx99Q0TGA7i/3/TbUVVbVXWaqk4bN27wkDhjTPYENf14LdxjHcWlI99XBPcCc4BF7u978vz+xhgPYZp+oj672mQuZ1cEInIL8Dtgkoi8JiJfwUkAnxaRPwKfdu8bYwrMJu6Vt5xdEajql3weOjlX72mMyYxN3Ctvke0sNqZYRLkyaTqxWdNP+bJEYMwQBA27LKQox5ZKlBNrqbKic8YMQZRn3EY5Nj/x5LW5aw/KvuSVvCqdyS5LBMYMQZRn3EY5Nj/FmLxKgSUCY4YgyuslRDk2P8WYvEqBJQJjhiDKwy6jHJufYkxepcA6i40ZgigOu0zsbD2wuorhVRV0dfdEIrYg5VzKopCd5JYIjBmiKA27TB4p1LWnh+qqSq45Z0pkYkwliok1Hwo9wssSgTElJKh4XDGIUmLNl0L/3ayPwJgSYp2txanQfzdLBMaUEOtsLU6F/rtZIjCmhBTjSCFT+L+b9REYU0LKtbO12BX67yaqmpc3Gopp06bpmjVrCh2GMcYUFRFZq6rTgvazpiFjjClzlgiMMabMWSIwxpgyZ4nAGGPKnCUCY4wpc0UxakhEtgK7gW2FjiWksRRHrMUSJ1isuVAscYLFmqk6VR0XtFNRJAIAEVkTZhhUFBRLrMUSJ1isuVAscYLFmmvWNGSMMWXOEoExxpS5YkoErYUOIA3FEmuxxAkWay4US5xgseZU0fQRGGOMyY1iuiIwxhiTA0WRCETkVBHZKCL/KyILCx2PHxFpF5HnRWS9iESqSp6I/FJE3hSRFxK2jRGRR0Xkj+7vgwoZY5xPrJeLyGb3u10vIqcVMkY3pneLyCoReVlEXhSR+e72yH2vKWKN1PcqIsNF5BkR2eDG+QN3++Ei8rT7nd4mIvsVMs6AWG8SkVcTvtMphY41SOSbhkSkEngF+DTwGvB74Euq+lJBA/MgIu3ANFWNyhjifiLyKWAXsFRVP+hu+0/gLVVd5CbYg1T1skLG6cblFevlwC5V/XEhY0skIuOB8ar6rIgcAKwFZgLnEbHvNUWsZxOh71VEBBipqrtEpAr4LTAfuBS4U1VvFZHFwAZVbYlorBcB96vqrwoZXzqK4YrgWOB/VfXPqvp34FbgzALHVHRU9QngraTNZwJL3NtLcA4MBecTa+So6hZVfda9vRN4GZhABL/XFLFGijp2uXer3B8FTgLiB9aofKd+sRadYkgEE4C/JNx/jQj+A3Yp8IiIrBWRhkIHE8IhqroFnAMFcHCB4wlysYg85zYdFby5JZGI1ANTgaeJ+PeaFCtE7HsVkUoRWQ+8CTwK/AnoUtW97i6ROQYkx6qq8e+0yf1OrxGR/QsYYijFkAjEY1tUs+50Vf0w8Fngq24Th8mOFuAIYAqwBbi6sOHsIyKjgF8D31DVHYWOJxWPWCP3vapqr6pOAQ7DaRH4gNdu+Y3KW3KsIvJB4DvA+4GPAmOAgje3BimGRPAa8O6E+4cBrxcolpRU9XX395vAXTj/iKPsDbftON6G/GaB4/Glqm+4/+n6gBuIyHfrtg3/GmhT1TvdzZH8Xr1ijer3CqCqXcDjwHFAjYjEl9aN3DEgIdZT3WY4VdV3gBuJ0HfqpxgSwe+BI91RA/sB/wTcW+CYBhGRkW4nHCIyEvgM8ELqZxXcvcAc9/Yc4J4CxpJS/MDq+jwR+G7dzsJfAC+r6n8lPBS579Uv1qh9ryIyTkRq3NvVwAyc/oxVwFnublH5Tr1i/UPCSYDg9GUU/N9qkMiPGgJwh7RdC1QCv1TVpgKHNIiIvAfnKgBgGPDfUYpTRG4BTsCpjPgG8G/A3cDtwERgE/BFVS14J61PrCfgNF8o0A5cGG+HLxQR+QTwJPA80Odu/i5O23ukvtcUsX6JCH2vIvIhnM7gSpwT1dtV9Qr3/9etOE0t64BZ7hl3waSI9TFgHE6z9nrgooRO5UgqikRgjDEmd4qhacgYY0wOWSIwxpgyZ4nAGGPKnCUCY4wpc5YIjDGmzFkiMCmJU1F1bKHjABCRKWGqY4bdb4ixvN+tLLlORI5Ieuy7CbfrJaGKahS5FUi/FbDPTBE5KuH+FSIyI/fRmXywRGAiwa0yG2QKEOYAH3a/oZgJ3KOqU1X1T0mPfdfrCUVuJtCfCFT1+6q6ooDxmCyyRGBCE5FLReQF9+cb7rZvi8jX3dvXuJNpEJGTReRm9/ZnROR3IvKsiNzh1ruJX218X0R+C3wx6b2+6L7PBhF5wp1VfgVwjnsmfo6IHCsi/+Oelf+PiEzy2W/AGa/7uvXubPAH3Pd4QUTO8fjMU0TkKbeA2F0icpB7tfEN4F9EZFXS/ouAave929zNlSJygzg16x9xZ6EiIkeIyMPiFCl8UkTe7/H+l4vIMhF5TJxa/Be420VErnLjfj4eu4ic4H5fd4nISyKyWEQq3Md2JbzuWSJyk8f7XSAiv3e/k1+LyAgR+TjwOeAq93MdIU7N/bMS/tbr3Dh+KW6RNffv+wP37/681+czEaGq9mM/vj84s03HAh/BmZU6EhgFvIhTwfI44A533yeBZ3DK8f4bcKH73Cdw6raDU4Dr+wmv/W2f930emODernF/nwdcn7DPaGCYe3sG8Guf/S4HvpVw/wWgHvhH4IaE7Qd6xPEccLx7+wrgWq/XTHrOroTb9cBeYIp7/3acWbEAK4Ej3dsfAx7zeK3LgQ1Atftd/gU41I39UZxZrYfgzGAejzMD+23gPe5jjwJnecR1FnBT8mcBahP2+Xfga+7tm+Kvk3gfGO7G9D53+1Kcgnbxv2/8+fOAnxf637P9eP/YFYEJ6xPAXaq6W53p8ncCn8RZ4OQj4tRZegf4HTDNfexJnERxFLBanHK9c4C6hNe9zef9VgM3uWfAfs1GBwJ3uG3w1wCT0/xMzwMzRORHIvJJVf1b4oMiciBOEvqNu2kJkElF2VdVdb17ey1Q714VfdyNfz3wM5wDuZd7VHWPOgsercIpYvYJ4BZ1Csa9AfwGp9olwDPqrN/RC9zi7hvWB92rk+eBGMHf6ST3873i3k/+juKF+NbiJEUTQcOCdzEG8C4Hjqr2iLMy2/nA/+CcQZ+IU9r4Zff3o6r6JZ/X3e3zuheJyMeA0wG/5f5+CKxS1c+LU2P/cZ/32MvAZtDh7nu8IiIfwelPuFJEHlHVK3xeYygSa+L04pzdV+DU2A+zjGFyHRjF5++RYv/k7cN9nnsTMFNVN4jIeThXGKmkigP2ffZe7HgTWXZFYMJ6ApjpthmPxKlU+WTCY99yfz+Js1TfenXaBJ4CpovIewHc578v6M1E5AhVfVpVvw9swylFvhM4IGG3A4HN7u3zErYn79cOfNh93Q8Dh7u3DwW6VfVm4MfxfeLcK4TtIvJJd9NsnDPvID3ilHz2pc5aAK+KyBfdWEREjvHZ/Uxx1setxTkw/x7nuz5HnIVRxuGchT/j7n+sONV6K4BzcJZQBKc89gfc7Z/3ea8DgC1u/LGE7cnfadwfcK5w3uveD/sdmQixRGBCUWeZw5twDjZP47T3rnMffhKnWeN3bjPF2+42VHUrzkH6FhF5DicxhOk0vMrtYHwB56C3AadZ5Kh4JzDwnzhn8qsZ2HyUvN+vgTFuE8xcnDWwAY4GnnG3N+K0iSeb48byHM5opDBXDK3AcwmdxX5iwFdEZANOn4vfEqzPAA/gfHc/VGfdi7twrr42AI/h9LX81d3/d8AinL6QV9lXFXchcL+7v1+F0e/h/H0fxTnIx90KLJCk4bKq+jbO1eAdbnNSH7A44HObiLHqo8ZEmIhcThqLy4vICTgdv2fkMi5TWuyKwBhjypxdERhjTJmzKwJjjClzlgiMMabMWSIwxpgyZ4nAGGPKnCUCY4wpc5YIjDGmzP0fQ7NisGHYaNgAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Plot the model fitted with a line\n",
    "prediction_space = np.linspace(min(X), max(X)).reshape(-1,1) \n",
    "plt.scatter(X_test,Y_test)\n",
    "plt.scatter(X_test, y_train_predict, color = 'black')\n",
    "plt.ylabel('value of house/1000($)')\n",
    "plt.xlabel(' lower status of the population')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To see what this algorithm is doing : "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "p = PolynomialFeatures(2).fit(X_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = Y_train.reshape(1,404)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>1</th>\n",
       "      <th>X</th>\n",
       "      <th>X^2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>18.35</td>\n",
       "      <td>336.7225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>3.16</td>\n",
       "      <td>9.9856</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>20.62</td>\n",
       "      <td>425.1844</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.0</td>\n",
       "      <td>9.08</td>\n",
       "      <td>82.4464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>20.31</td>\n",
       "      <td>412.4961</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     1      X       X^2\n",
       "0  1.0  18.35  336.7225\n",
       "1  1.0   3.16    9.9856\n",
       "2  1.0  20.62  425.1844\n",
       "3  1.0   9.08   82.4464\n",
       "4  1.0  20.31  412.4961"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "features = pd.DataFrame(p.transform(X_train), columns=['1','X','X^2'])\n",
    "features.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = features.values\n",
    "X = np.matrix(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def least_square_estimator(X, y):\n",
    "    step1 = np.transpose(X) * X\n",
    "    leftpart = inv(step1)\n",
    "    rightpart = np.transpose(X)* np.transpose(y)\n",
    "    return(leftpart * rightpart)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "a,b,c =least_square_estimator(X, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The model of degree 2 is then :\n",
    "$ 43 -2.37 \\times x + 0.045 \\times x^2$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "p = least_square_estimator(X, y).tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "def f(estim, x):\n",
    "    s =0\n",
    "    for count, coef in enumerate(estim):\n",
    "        s+=coef *x **count    \n",
    "    return(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.linspace(0,35,1000)\n",
    "y= f(p,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEKCAYAAAAfGVI8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xl8VOXVwPHfySKJbGFTNhVEoCxCEFARVEAxIqiAAarVorVSt74qLYK17lhprdRa+2LtqwJqRRAJWFxAQBHZlE1UNsWFTUAgrAFCct4/7h0MYZabZCazne/nM5+Zubl37skE7nOf7TyiqhhjjEleKdEOwBhjTHRZQWCMMUnOCgJjjElyVhAYY0ySs4LAGGOSnBUExhiT5KwgMMaYJGcFgTHGJDkrCIwxJsmlRTsAL+rWratNmjSJdhjGGBNXli5d+qOq1gu1X1wUBE2aNOHTTz+NdhjGGBNXROQ7L/tZ05AxxiQ5KwiMMSbJWUFgjDFJLi76CIwxiauwsJBNmzZx6NChaIcStzIyMmjcuDHp6enlOt4KAmNMVG3atInq1avTpEkTRCTa4cQdVWXnzp1s2rSJpk2bluszIloQiMi3wD6gCDiqqp1EpDbwOtAE+BYYpKq7IxlHpOUt38yT761lS34BDbMyGZ7Tkn4dGpV7P2OSyaFDh6wQqAARoU6dOuzYsaPcn1EZfQQ9VDVbVTu570cCs1W1OTDbfR+38pZv5r43V7E5vwAFNucXcN+bq8hbvrlc+xmTjKwQqJiKfn/R6Cy+Ghjvvh4P9ItCDGHz5HtrKSgsOm5bQWERT763tlz7GWNMZYt0QaDATBFZKiJD3W2nqupWAPf5FH8HishQEflURD6tSJUn0rbkF3ja7nU/Y0zlSk1NJTs7mzZt2tC+fXvGjBlDcXFxtMMCYNasWXTs2JGzzz6bjh07MmfOnIicJ9KdxV1VdYuInALMEpE1Xg9U1eeB5wE6deqkkQqwohpmZbLZz8W8YVZmufYzxlSuzMxMVqxYAcD27du57rrr2LNnD4888kiFP7uoqIjU1NRyH1+3bl3eeustGjZsyOeff05OTg6bN4e/OTmiNQJV3eI+bwemAucC20SkAYD7vD2SMUTa8JyWZKYf/4fOTE9leE7Lcu1njImeU045heeff55nn30WVaWoqIjhw4fTuXNn2rVrx7/+9S8AiouLuf3222nTpg19+/bliiuu4I033gCclDiPPvoo3bp1Y/LkyXz99ddcfvnldOzYkQsvvJA1a5z74R07dnDNNdfQuXNnOnfuzMcff3xCPB06dKBhw4YAtGnThkOHDnH48OGw/94RqxGISFUgRVX3ua8vAx4FpgNDgNHu87RIxVAZfKN+Qo0G8rpfSTbKyCSbu++++9jdebhkZ2fz9NNPe97/zDPPpLi4mO3btzNt2jRq1qzJJ598wuHDh+natSuXXXYZS5cu5dtvv2XVqlVs376dVq1a8atf/erYZ2RkZDB//nwALrnkEp577jmaN2/O4sWLuf3225kzZw533XUX99xzD926deP7778nJyeH1atXB4xrypQpdOjQgSpVqpT/ywggkk1DpwJT3d7sNOA/qvquiHwCTBKRm4HvgYERjKFS9OvQyNMF2ut+8NMoI18Hs2+Uke9zjDGRo+q0Rs+cOZPPPvvs2N3+nj17WL9+PfPnz2fgwIGkpKRQv359evTocdzxgwcPBmD//v0sWLCAgQN/usz57ujff/99vvzyy2Pb9+7dy759+6hevfoJ8XzxxReMGDGCmTNnhvcXdUWsIFDVDUB7P9t3ApdE6ryJItgoIysITKIqy517pGzYsIHU1FROOeUUVJV//OMf5OTkHLfPjBkzgn5G1apVAacJKSsry28tp7i4mIULF5KZGbyfcNOmTfTv358JEybQrFmzMv423liuoRhlo4yMqXw7duzg1ltv5c4770REyMnJYezYsRQWFgKwbt06Dhw4QLdu3ZgyZQrFxcVs27aNDz74wO/n1ahRg6ZNmzJ58mTAqWmsXLkSgMsuu4xnn3322L7+Cov8/Hz69OnDE088QdeuXcP82/7ECoIYFWg0kY0yMia8CgoKjg0fvfTSS7nssst46KGHAPj1r39N69atOeecc2jbti2/+c1vOHr0KNdccw2NGzc+tu28886jZs2afj//1Vdf5YUXXqB9+/a0adOGadOcbtFnnnmGTz/9lHbt2tG6dWuee+65E4599tln+eqrr3jsscfIzs4mOzub7dvDP75GfG1hsaxTp06abAvTlO4jAGeU0RMDzramIZNQVq9eTatWraIdRpnt37+fatWqsXPnTs4991w+/vhj6tevH7V4/H2PIrK0RFaHgCzpXIwqzygjY0zl6du3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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X_test,Y_test)\n",
    "plt.ylabel('value of house/1000($)')\n",
    "plt.xlabel(' lower status of the population')\n",
    "plt.plot(x,y, color = 'black', label='Degree 2');\n",
    "plt.legend()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we increase the degree of the polynom, how the model improves? "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEKCAYAAAAfGVI8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xd8VHW6+PHPkx4gIZTQEpCodKVLEXEFG4qrqCCKuup11633WnZV3L3XdV254uqq2366elWw0UQBxbUBKiLqgoCNoigloQcCgSSkPb8/zpkYwrQkM5mZzPN+veY1kzPnzHkygfOcbxdVxRhjTPxKiHQAxhhjIssSgTHGxDlLBMYYE+csERhjTJyzRGCMMXHOEoExxsQ5SwTGGBPnLBEYY0ycs0RgjDFxLinSAQSjffv22r1790iHYYwxMWX16tX7VDU70H4xkQi6d+/OqlWrIh2GMcbEFBHZGsx+VjVkjDFxzhKBMcbEOUsExhgT52KijcCYeFNRUUF+fj5lZWWRDsXEgLS0NHJzc0lOTm7Q8ZYIjIlC+fn5ZGRk0L17d0Qk0uGYKKaqFBYWkp+fT15eXoM+I6yJQES2AMVAFVCpqkNFpC0wB+gObAGuUNUD4Ywj3BasKeDBNzeyo6iULlnp3H5+LyYMymnwfsaUlZVZEjBBERHatWvH3r17G/wZTdFGMEZVB6rqUPfnqcASVe0BLHF/jlkL1hRw18ufU1BUigIFRaXc9fLnLFhT0KD9jPGwJGCC1dh/K5FoLL4EmOm+nglMiEAMIfPgmxsprag6ZltpRRUPvrmxQfsZY0xTC3ciUOAtEVktIje52zqq6k4A97mDtwNF5CYRWSUiqxpT5Am3HUWlQW0Pdj9jotE999zDQw89FOkwALj99tvp3bs3/fv359JLL6WoqKhex8+YMYPs7GwGDhxI7969eeSRR2ree/jhh+nbty/9+/fn7LPPZuvWoMZj+XX06FEmT57MySefzPDhw9myZYvX/YqKipg4cSK9e/emT58+rFy58pj3H3roIUSEffv2NTqmusKdCEap6mDgAuCXInJmsAeq6hOqOlRVh2ZnBxwhHTFdstKD2h7sfsY0Z1VVVYF3CuDcc8/liy++4LPPPqNnz57cf//99f6MyZMns3btWlasWMG0adPYvn07AIMGDWLVqlV89tlnTJw4kTvuuKPR8T711FO0adOGb775hltvvZU777zT634333wz48aNY8OGDaxbt44+ffrUvLd9+3befvttunXr1uh4vAlrIlDVHe7zHuAVYBiwW0Q6A7jPe8IZQ7jdfn4v0pMTj9mWnpzI7ef3atB+xkSLadOm0atXL8455xw2bvy+CnPz5s2MGzeOIUOGMHr0aDZs2FCzfcSIEZx22mncfffdtGrVCoB3332XMWPGMGXKFE499VQAnn/+eYYNG8bAgQP56U9/WpMg3nrrLUaOHMngwYOZNGkShw8fPi6u8847j6Qkp5/LiBEjyM/Pb/Dv2K5dO04++WR27twJwJgxY2jRokVIPttj4cKFXHfddQBMnDiRJUuWoKrH7HPo0CHef/99brzxRgBSUlLIysqqef/WW2/lT3/6U9jajcLWa0hEWgIJqlrsvj4PuBdYBFwHTHefF4Yrhqbg6fUTqDdQsPvVZr2MDMAtb7zB2l27QvqZAzt14tFx43y+v3r1ambPns2aNWuorKxk8ODBDBkyBICbbrqJxx9/nB49evDxxx/zi1/8gqVLl3LzzTdz8803c9VVV/H4448f83mffPIJX3zxBXl5eaxfv545c+awYsUKkpOT+cUvfsELL7zAhRdeyH333cc777xDy5YteeCBB3j44Ye5++67fcb59NNPM3ny5AZ/D9u2baOsrIz+/fsf995TTz3FBRdc4PW40aNHU1xcfNz2hx56iHPOOeeYbQUFBXTt2hWApKQkWrduTWFhIe3bt6/Z59tvvyU7O5sbbriBdevWMWTIEP7yl7/QsmVLFi1aRE5ODgMGDGjw7xlIOLuPdgRecTNYEvCiqr4hIv8G5orIjcA2YFIYY2gSEwblBHWBDnY/+L6XkaeB2dPLyPM5xoTT8uXLufTSS2vuji+++GIADh8+zIcffsikSd//tz169CgAK1euZMGCBQBMmTKF3/zmNzX7DBs2rKaP+5IlS1i9ejWnnXYaAKWlpXTo0IGPPvqIr776ilGjRgFQXl7OyJEjfcY4bdo0kpKSuPrqq+v9+82ZM4dly5axceNGnnzySdLS0o55//nnn2fVqlW89957Xo9fvnx50Oeqe/cPx/fyqays5NNPP+Vvf/sbw4cP5+abb2b69OncddddTJs2jbfeeivo8zVE2BKBqn4LHJfCVLUQODtc520u/PUyskQQX/zduYeTt2qI6upqsrKyWLt2bb0+q2XLljWvVZXrrrvuuLr9V199lXPPPZdZs2YF/LyZM2fy2muvsWTJEq9x/u53v2Px4sUAXmOdPHkyf//731m5ciXjx4/nggsuoFOnTgC88847TJs2jffee4/U1FSv569PiSA3N5ft27eTm5tLZWUlBw8epG3btsftk5uby/DhwwGnCmn69Ols3ryZ7777rqY0kJ+fz+DBg/nkk09q4g0Fm2soSlkvIxNJZ555Jq+88gqlpaUUFxfz6quvApCZmUleXh7z5s0DnIv6unXrAKdOff78+QDMnj3b52efffbZvPTSS+zZ4zQP7t+/n61btzJixAhWrFjBN998A0BJSQmbNm067vg33niDBx54gEWLFtWUWOqaNm0aa9euDZiwRo4cybXXXstf/vIXANasWcNPf/pTFi1aRIcOXjs0Ak6JwPP5tR91kwA4pamZM50e8y+99BJjx449Lnl16tSJrl271rTFLFmyhL59+3LqqaeyZ88etmzZwpYtW8jNzeXTTz8NaRIASwRRy3oZmUgaPHgwkydPZuDAgVx++eWMHj265r0XXniBp556igEDBtCvXz8WLnSa+R599FEefvhhhg0bxs6dO2ndurXXz+7bty/33Xcf5513Hv379+fcc89l586dZGdnM2PGDK666ir69+/PiBEjahqia/vVr35FcXEx5557LgMHDuRnP/tZo37XO++8k2eeeYbi4mJuv/12Dh8+zKRJkxg4cGBNlVhj3HjjjRQWFnLyySfz8MMPM336dAB27NjBhRdeWLPf3/72N66++mr69+/P2rVr+e1vf9vocwdLvNVfRZuhQ4dqvC1MU7eNAJxeRvdfdqpVDcWB9evXH9N9MBaUlJSQnp6OiDB79mxmzZpVkyRM+Hn7NyMiq2vN6uCTTToXpRrSy8iYSFq9ejW/+tWvUFWysrJ4+umnIx2SCZIlgihWn15GxkTa6NGja9oLTGyxNgJjolQsVNua6NDYfyuWCIyJQmlpaRQWFloyMAF51iOoOxaiPqxqyJgolJubS35+fqPmmDfxw7NCWUNZIjAmCiUnJzd4tSlj6suqhowxJs5ZIjDGmDhnicAYY+KcJQJjjIlzlgiMMSbOWSIwxpg4Z91Hw8xWGTPGRDtLBGFkq4wZY2KBVQ2Fkb9VxowxJlpYIggjW2XM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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEKCAYAAAAfGVI8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xl8VPXV+PHPyUISQjYgbGFJQPYtLCKKO4tUraJVqdqKPra2P7tYrTzF2rpVK1ar9ql9tFqt+NSKO7hVRXHFBVnCosi+hrAnEEgg2/n9ce+EEGYyk2QmM5M579crr8zcuffOmQncc7+7qCrGGGNiV1y4AzDGGBNelgiMMSbGWSIwxpgYZ4nAGGNinCUCY4yJcZYIjDEmxlkiMMaYGGeJwBhjYpwlAmOMiXEJ4Q4gEB07dtTc3Nxwh2GMMVFl8eLFe1Q1299+UZEIcnNzWbRoUbjDMMaYqCIimwPZz6qGjDEmxlkiMMaYGGeJwBhjYlxUtBEYE2sqKyvZtm0bhw8fDncoJgokJyfTvXt3EhMTm3S8JQJjItC2bdtIS0sjNzcXEQl3OCaCqSp79+5l27Zt5OXlNekcIU0EIrIJKAWqgSpVHS0i7YHngVxgE3CZqhaHMo5Qm7O0kPvfWc32knK6ZaYw/Zz+TBmR0+T9jDl8+LAlARMQEaFDhw7s3r27yedoiTaCs1Q1X1VHu89nAO+ral/gffd51JqztJBbXllBYUk5ChSWlHPLKyuYs7SwSfsZ42FJwASquf9WwtFYfCEwy308C5gShhiC5v53VlNeWX3MtvLKau5/Z3WT9jPGmJYW6kSgwLsislhErnO3dVbVIgD3dydvB4rIdSKySEQWNafIE2rbS8oD2h7ofsZEojvuuIMHHngg3GEA8Pvf/55hw4aRn5/PpEmT2L59e6OOv+OOO8jJySE/P59Bgwbx3HPP1b42ffp0BgwYwLBhw7jooosoKSlpdrz79u1j4sSJ9O3bl4kTJ1Jc7L0mfMuWLUyaNImBAwcyaNAgNm3aBMDVV19NXl4e+fn55OfnU1BQ0OyY6gt1IhinqiOB7wA/E5HTAz1QVR9X1dGqOjo72+8I6bDplpkS0PZA9zOmNauurva/kx/Tp09n+fLlFBQUcP7553PXXXc1+hw33ngjBQUFzJ07l5/85CdUVlYCMHHiRFauXMny5cvp168f9957b7PjnTlzJuPHj2ft2rWMHz+emTNnet3vqquuYvr06axatYqFCxfSqdPRe+T777+fgoICCgoKyM/Pb3ZM9YU0Eajqdvf3LuBVYAywU0S6Ari/d4UyhlCbfk5/UhLjj9mWkhjP9HP6N2k/YyLFPffcQ//+/ZkwYQKrVx+twly/fj2TJ09m1KhRnHbaaXz77be128eOHcuJJ57IbbfdRrt27QD48MMPOeuss7jiiisYOnQoAP/6178YM2YM+fn5/OQnP6lNEO+++y4nn3wyI0eO5NJLL+XgwYPHxZWenl77+NChQ82qH+/bty9t27atvUufNGkSCQlOH5qxY8eybdu2Jp/bY+7cuUybNg2AadOmMWfOnOP2+eabb6iqqmLixIkAtGvXjrZt2zb7vQMVsl5DIpIKxKlqqft4EnAX8BowDZjp/p4bqhhUayivKqZtYodQvUVtrx9/vYEC3a8u62VkAD7f+gB7y9cE9ZwdUvpxco+bfb6+ePFiZs+ezdKlS6mqqmLkyJGMGjUKgOuuu47HHnuMvn378uWXX3L99dczf/58brjhBm644QYuv/xyHnvssWPOt3DhQlauXEleXh6rVq3i+eefZ8GCBSQmJnL99dfz7LPPcu6553L33Xfz3nvvkZqayn333ceDDz7Ibbfddlx8t956K8888wwZGRl88MEHTf4elixZQt++fY+5+/Z46qmnmDp16nHbS0tLOe2007ye79///jeDBg06ZtvOnTvp2rUrAF27dmXXruPvfdesWUNmZiYXX3wxGzduZMKECcycOZP4eOfm8dZbb+Wuu+6qLVEkJSU1+rM2JJTdRzsDr7rZOgH4t6q+LSJfAS+IyLXAFuDSUAXw9vpfUlldxgX9nwrVWwDORT6QC3Sg+8HRXkaeBmZPLyPPeYwJpU8++YSLLrqo9q70ggsuAODgwYN89tlnXHrp0f+2R44cAeDzzz+vvdu94ooruPnmo4lmzJgxtX3c33//fRYvXsyJJ54IQHl5OZ06deKLL77gm2++Ydy4cQBUVFRw8skne43vnnvu4Z577uHee+/lkUce4c4772zU53vooYd44okn2LBhA2+//bbX8yckJHDllVce91paWlrQ6+mrqqr45JNPWLp0KT179mTq1Kk8/fTTXHvttdx777106dKFiooKrrvuOu677z6vybE5QpYIVHUDMNzL9r3A+FC9b1090sfx+bYH2HlwOZ3bDWuJtwyahnoZWSKILQ3duYeStyqXmpoaMjMzG30hTE1NrX2sqkybNu24+vfXX3+diRMnHtN4688VV1zBeeedd1wiuOaaa1i6dCndunXjrbfeOu64G2+8kZtvvplXXnmFq666ivXr15OcnAzArFmzeOONN3j//fe9fgeNLRF07tyZoqIiunbtSlFRkdfSR/fu3RkxYgS9e/cGYMqUKXzxxRdce+21taWJpKQkrrnmmpA02rfquYb6d7iQpPh0lu98JtyhNJr1MjLhdPrpp/Pqq69SXl5OaWkpr7/+OuDUz+fl5fHiiy8CzkV92bJlgFOn/vLLLwMwe/Zsn+ceP348L730Um0Vyb59+9i8eTNjx45lwYIFrFu3DoCysjLWrDm+Smzt2rW1j1977TUGDBhw3D7//Oc/KSgo8JoE6rr44osZPXo0s2Y5Pdrffvtt7rvvPl577TWfdfSeEoG3n/pJAJzSlOf8s2bN4sILLzxunxNPPJHi4uLaQWHz58+vPVdRURHgfNdz5sxhyJAhDX6mpmjViSAxvi2Dsi9l0/4PKTkc0LTcEcN6GZlwGjlyJFOnTiU/P5/vfe97x9wBP/vsszz55JMMHz6cwYMHM3eu08z38MMP8+CDDzJmzBiKiorIyMjweu5BgwZx9913M2nSJIYNG8bEiRMpKioiOzubp59+mssvv5xhw4YxduzY2oboumbMmMGQIUMYNmwY7777Ln/5y1+a9Vlvu+02HnzwQWpqavj5z39OaWkpEydOJD8/n5/+9KfNOrcn3nnz5tG3b1/mzZvHjBnOGNpFixbxox/9CID4+HgeeOABxo8fz9ChQ1FVfvzjHwNw5ZVXMnToUIYOHcqePXv43e9+1+yY6hNVDfpJg2306NHa1IVpyir3Mnvl+fTtcD6n9bw1yJGFTv02AnB6Gd178VCrGooBq1atYuDAgeEOo1HKyspISUlBRJg9ezbPPfdcbZIwoeft34yILK4zq4NPrX7SubaJHejb4XzW7n2DUV1/GtIeRMHUlF5GxoTT4sWL+fnPf46qkpmZyVNPhbaThgmeVp8IAIZ2+gHf7nmVb3Y/z+hu14c7nIA1ppeRMeF22mmn1bYXmOjSqtsIPDKTe9Er4wy+2f0SldXW2GqiQzRU25rI0Nx/KzGRCACGd57Gker9rN5rdZYm8iUnJ7N3715LBsYvz3oEnu6vTRETVUMAndsNo3PqcFbsepZB2ZcQJzHz0U0U6t69O9u2bWvWHPMmdnhWKGuqmLoaDut8FfM2/JqNxe/Tp/054Q7HGJ8SExObvNqUMY0VM1VDAL0yTicjqRfLds6yIrcxxrhiKhGIxJHf5Wr2lq9m64EF4Q7HGGMiQkwlAoAT2n+Hdm26snTHk1YqMMYYYjARxEkiwztfxa5Dyyk62LTRysYY05rEXCIA6NfhQlISOrB0h418NMaYmEwECXFJDOv8A7aXLmTXoRXhDscYY8IqJhMBwMCOl5AUnxHyUsGcpYWMmzmfvBlvMm7mfOYsLQzp+xljTGPFbCJIjG/LkE7fZ8v+j9lbFtxlAD08M4gWlpSjHF1lzJKBMSaSxGwiABic/X0S41IpCFGpoKFVxowxJlLEdCJISkhnUPYlbCh5j5LDm4J+fltlzBgTDWI6EQAM6XQl8dImJKUCW2XMGBMNYmquIW/aJnZgYPYlfL3rOUZ0+REZyT2bfK45SwuPWUjmrAHZvLy48LhVxqaf0z8YoRtjTFDEfIkAnCmq4ySRJTueaPI5vDUMv7y4kO+NyiEnMwUBcjJTbKlJY0zEifkSATilgsHZl7Fi17OM6HItmcm5jT6Hr4bhD77dzYIZZwcpUmOMCT4rEbiGdb6K+Lg2LClqWqnAGoaNMdHKEoErJbE9g7Knsr74HYrLNzT6eGsYNsZEK0sEdQzv/EMS41Ka1FYw/Zz+pCTGH7PNGoaNMdHAEkEdyQlZDM6eyobieewrX9+oY6eMyOHei4daw7AxJupINMzJP3r0aF20qGWmjD5cVcLslRfQPf1kJvS+r0Xe0xhjQkFEFqvqaH/7WYmgnuSETIZ0+j4bS95jb9nacIdjjDEhZ4nAi6GdfkBiXCqLix4NdyjGGBNylgi8SEpIZ3jnaWze/xE7Dy4LdzjGGBNSlgh8GNLpClISOrBw+1+DuraxrU9gjIk0lgh8SIxPYWTXH7Hj4FK2HfgsKOe09QmMMZHIEkED+ne4iLQ2OSzc/giqNc0+n61PYIyJRJYIGhAfl8jobv+PfeVrWF/8brPPZ9NQGGMikSUCP/pknUP7lH4s2v6/VNdUNutcNg2FMSYSBZQIRCROREaIyHkicraIdA51YJFCJI4x3X5OaUUhq/e+2qxz2TQUxphI1OA01CLSB/gNMAFYC+wGkoF+IlIG/B2YpQ1UoItIPLAIKFTV80UkD5gNtAeWAD9U1YpgfJhQ6Z5+Cl3ajWRJ0T/o2/67JMY37Q7eM91E3cVrpp/T36ahMMaEVYNTTIjIc8CjwCdab0cR6QRcARSr6qwGznETMBpIdxPBC8ArqjpbRB4DlqlqgyO3WnKKCV92HlzGa2v+i1Fdf8rIrj8OayzGGBOIoEwxoaqXq+rH9ZOA+9ouVX3YTxLoDpwH/MN9LsDZwEvuLrOAKf6CjASd2w0nL3M8y3bOoqxyd7jDMcaYoGl0Y7GIjBORye5F3Z+Hgf8GPFVHHYASVa1yn28DvNaLiMh1IrJIRBbt3h0ZF94xOb+gRitZtN2mnjDGtB5+E4GIPCMig93HPwUeAX4BPOnnuPOBXaq6uO5mL7t6rZtS1cdVdbSqjs7OzvYXZotIT+rB4OyprN77GnvL1oQ7HGOMCYoGE4GI9MKp3y91H/8EJwn8DBgrIj1FJN3H4eOAC0RkE07j8Nk4JYRMEfE0UncHtjf7U7SgEV1+RFJ8Ol8WPhzUqSeMMSZc/JUIzgQygMnABUAm0Bs4A4h3X8/1dqCq3qKq3VU1F/g+MF9VrwQ+AC5xd5sGzG3OB2hpSQnpjOz6YwpLv2TrgQXhDscYY5rNX2PxLOB14FLgKuAxVX0Gp7F3p6o+o6rLG/mevwFuEpF1OG0GDVYxRaKBHS8hPaknXxY+TE1tc4cxxkSnBscRuK4HzgEqVPV9d1sHYHqgb6KqHwIfuo83AGMaFWWEiY9L5KScXzJvw818u+dVBmVfGu6QjDGmyfw2Fqtqjar+p04SQFW3qOqXoQ0tsvXKOJOu7UaxuOgxKqpLwx2OMcY0mb/G4tdF5Lsikujltd4icpeI/FfowotcIsLY7jdyuGo/S4qeCHc4xhjTZP6qhn4M3AQ8LCL7ODrFRC6wHnhEVaOqsTeYOrYdSDITWbbjOX7xTBZt4nrZlBHGmKjjr7F4h6r+t6r2wWkw/gNOYhiiqhNjOQmAs9DMQ2+O5khVGyaOeIvCkjJbaMYYE3UCnX20M84kcYeBIlUtC2lUUeL+d1az71AyH68cT17nDfTP+cYWmjHGRB1/s4/mA4/hjCXw3OZ2F5ES4HpVXRLi+CKaZ0GZxetHk997ERPz32b9jr5sLwlzYMYY0wj+SgRPAzeo6kBVneD+DAB+Bfwz5NFFOM+CMqrxvLPkPDJS93PKgE9soRljTFTxlwhSvXUTVdUvgNTQhBQ96i40s3VPLis3D+XkAQu4aVJGmCMzxpjA+es19B8ReRN4BtjqbuuBM8r47VAGFg3qLzTzzaYLGdJrLWkZzwKjwhucMcYEqMFEoKq/FJHvABfiTBctOFNH/01V32qB+CLelBE5x3QXLdixn6+2/5Ut+z+hZ8ZpIX3vOUsLbbUzY0yz+Z1iQlX/A/ynBWJpFYZ2upK1+95gwdb76NpudJOXtfRnztJCbnllBeWV1QAUlpRzyysrACwZGGMaxd/I4gwRmSkiq0Rkr/uzyt2W2VJBRpP4uERO7XkrByuKWFL0eMje5/53VtcmAQ/rumqMaQp/jcUvAMXAWaraQVU7AGcBJcCLoQ4uWnVtN4L+HaawYtezIVvAxtN1NdDtxhjji79EkKuq96nqDs8Gd7TxTKBnaEOLbmNyfklSQjqfbrmHGq32f0CA5iwtZNzM+d6XdQPrumqMaTR/iWCziPy3O7IYcEYZi8hvONqLyHiRnJDByd1vYlfZSr7d83JQzulpFyj0cdefkhjP9HP6B+W9jDGxw18imIqz9sBHIlIsIsU46wq0By4LcWxh5bnzzpvxJuNmzm/S/EF9sr5DTtpJLCx8hEMVu5sdk7d2AY+czBTuvXioNRQbYxrN36Rzxar6G1UdoKpZ7s9Ad9u+lgqypdW981aO9shpbDIQEcb1uIUareSLbX9udly+6v8FWDDjbEsCxpgm8TvpnIicIyKPishrIjLXfTy5JYILl2D2yMlI7kF+l2vZUDKPTSUfNisuX/X/1i5gjGkOf91HHwZuAD4C/gTc7z7+pYj8JfThhUewe+QM7zyN9il9WbD1Xo5UHWhyXHWntPCwdgFjTHP5KxGcq6rnqupsVf3U/ZkNnAec2wLxhUWw77zj4xI5o9ftlFcW83kzqoimjMjh3ouHkpOZgmDtAsaY4PA3sviwiIxR1YX1tp+IszZBqzT9nP7HjNqF5t95d2w7kOFdrqZgx5P0zprQ5Okn6k9pYYwxzeUvEVwNPCoiaThzDIEz6dwB97VWqf5kcsGax2dklx+xueRDPt3yRy4Z9AJt4tOCEa4xxjSLqPoamlRnJ5Eu1Jl0ru4As5YwevRoXbRoUUu+ZcjsPvQ1c1dfTb8O3+X0XrcFdIxNLmeMaQoRWayqo/3tF9BSle5o4sWqusiTBERkQHODjEXZqYMZ2vmHrN47l20HPve7f7C6shpjjC8BJQIf3g1aFDFmVNefkJmUy8eb/0BFdWmD+9rkcsaYUPO3ZvH/+HoJsNlHmyghLokzcu/gtdXXsmDr/ZyVe5fPfW1yOWNMqPkrEVwDrAQW1/tZBFSENrTWrVPqUEZ0uZZ1+95kQ/E8n/vZIDJjTKj56zX0FbBSVT+r/4KI3BGSiGLIiK7/xdYDC/h0yx/pnDqc1DadjtunOV1ZrZHZGBMIfyWCS4Cl3l5Q1bzghxNb4iSRs3Lvplor+GjzHajWHLdPUweRWSOzMSZQDXYfFZG/4yxS/56qNtyqGUKtqfuoN6v2vMKnW+7h5O6/ZkinK4JyznEz53udrjonM4UFM84OynsYYyJbsLqP/hMYDrwlIu+LyG9EZHhQIjS1BnS4iJ7pp7Gw8K/sK18flHNaI7MxJlD+pqH+QlXvUNXTcNYf2AL8WkSWishTItKq1yRoKSLCab1+T2J8Kh9s+h1VNUeafU5rZDbGBCrgcQSquldVn1PVq1R1BPA3oG/oQostbRM7cEav29lXvoYvCx9u9vlsplJjTKD89RoCnOUpgT8C3VT1OyIyCMhX1XtCGl2M6ZlxGkM7/YAVu/5Ft3ajycsa3+RzhWq+pIZYLyVjolOgcw39B6e94FZVHS4iCcBSVR0a6gCh9TcW11VdU8nra65l/5HNXDTgWdKTuoc7pIB4einV7+Zq02QbEz5BnWsI6KiqLwA1AKpaBXhfPNc0S3xcIuPzZgIwf+Nvqa6pDHNEgbGpMIyJXoEmgkMi0gFQABEZC+wPWVQxLi2pG6f3vJ3dZV/z1fa/hjucgFgvJWOiV0BtBMBNwGtAHxFZAGTjDDbzSUSSgY+BJPd9XlLV20UkD5gNtAeWAD9U1ZiYrqIxdeh5WWcz6OBUVux6lq7tRtMr8/SQvE+wdMtM8TpuwXopGRP5Ap2GeglwBnAK8BNgsKou93PYEeBsVR0O5AOT3ZLEfcBDqtoXKAaubWrw0aQpI31PyrmBDin9+XDzbRw4sjVk7xMM1kvJmOgVUCIQkUuBFFX9GpgCPC8iIxs6Rh0H3aeJ7o8CZwMvudtnuedr9ZpSh54Ql8SE3n9CEOZtmE5Vjf9qlnDV1dt6ysZEr0Crhn6vqi+KyKnAOcADwKPASQ0dJCLxOLOVnoAz7mA9UOI2NoOz/KXXK4WIXAdcB9CzZ88Aw4xcTa1DT0/qzlm59/D2+l/y8ea7OSv3bkQk6O8TDLaesjHRKdDGYs8t5nnAo6o6F2jj7yBVrVbVfKA7MAYY6G03H8c+rqqjVXV0dnZ2gGFGruaM9O2RcQqju/4/1he/zde7Z4fsfYwxsSnQRFDoTkB3Gc68Q0mNOBZVLQE+BMYCme44BHASxPbAw41eza1Dz+9yDb0yzuCLbQ9RVLqkUe8jOG0F42bOt9lHjTHHCfRifhnwDjDZvai3B6Y3dICIZItIpvs4BZgArAI+4GiPo2nA3CbEHXWaW4cuEseZuXeSntSd9zfO4FDFLr/vA04S8BS5bCpqY4w3gY4s9lpJr6pbGjhmGE5jcDxOwnlBVe8Skd4c7T66FPiBqjY4y1osjSz2xdMltKJmM9dMeJyUhFx+mP9PEuKSfR5jU1EbE9sCHVkcaGPxmzg3lgIkA3nAamCwrwPc7qUjvGzfgNNeYAJ07PQNnZjzxfe4ZNxs/l0wgx+OeMhn47EN8jLGBCLQcQRDVXWY+7svzoX809CGZjzqdwlds30gH6yYwBE+YcmOJ3weZw3HxphABFoiOIaqLhGRE4MdTKxo7Mhfb3fwn397Kh3TdgN/JzMplz7tJx23T3PWOw42m5nUmMgV6DTUN9V5GgeMBHaHJKJWrv4snZ4GXMDnhdH79A1CwbqpTBoqfLT5DtKSutEpdcgxe4RjKmpvmvKZjTEtJ9DG4tvrPK0CNgEvq+rhEMV1jNbUWNyUBtyGpniePLQtc76dRlXNYaYMmEW7Nl1DFntTxXqjtZWGTLgEtbFYVe90T5rmPK2dOsI0UlMacP3d2Z/T52Hmrr6at9fdwHf7/YOkhPTgB94MsdxobaUhEw0CrRoaAvwfTpdPRGQPME1VV4YwtlapqbN0NjR9Q1ZKbyb2eYC31v6CP314LbPmX0nn9PSIufOM5ZlJG5r7KRL+NsZA4APKHgduUtVeqtoL+LW7zTRSqGbp/GpdDm8u/B5d2m/ggpNeZvv+QxEzeCyWZyaN5dKQiR6B9hpKVdUPPE9U9UMRSQ1RTK1aYxpwG1O3fP87qyksGUxi4mQmjXibQ4ff4p2l50XEnWekNFqHQyyXhkz0CDQRbBCR3+NUDwH8ANgYmpBav0Bm6Wxs3bLnDvOrtaeQllLKyQMWUHo4jc9XneH13C19UY7VmUkjqQuvMb4EWjX0Xzirkr0CvOo+viZUQZnGrytQ9w5z/vKJrNg8jLOGvs8Zg49dPyhcC9fEKlunwUSDQHsNFQO/DHEspo7G1i0fe+cZxxtfTSEtuZxxg19m3b4RnNB+MmCNl+EQq6UhEz0C7TXUD7gZyK17jKq2/k7gYdLYuuX69fBd09MY3fmPJLabyYebbiM+rg15mWdb46Ux5jiBthG8CDwG/IOji9SYEGpK3bK3O8+K6of4z7qfMX/jLUzq/ZA1XhpjjhNoG0GVqj6qqgtVdbHnJ6SRxbhg1S23iU9lcp+/kpXch3kbbuaGSRUx25XTGONdg1NMiEh79+EvgV04DcW1aweo6r6QRudqTVNMeNMSvXjKK4t5Y+11HKwool3N7Tz8brzP97MpEYxpHQKdYsJfItjI0XUI6lNV7d30EAPXmhNBQ/MITRmRE9SLclnlbl5fcx1llbuZ3Od/6Jo2stHxGGOiR1ASQaRozYnA14RsWW0TASguqzxme0MX5UCSRlnlbt5c81NKK4o4p8/D5KQfu0ZQ/p3vUlJ+7HtC7EwQZ0xrEmgiCHgBehMavnrrFJdVHpcEwPdYAm/jA258voDcGW8es2h928Rszuv3OOlJ3Xln/a/Yuv+zY87hLQk0FKcxJvpZIgizpvTW8XZR9jY+wNei9W0TO3B+v7+TmZzLuxtuYnPJx7XnCGacxpjo0GAiEJFx7u+klgkn9nibkM0fbxdlf3fs9UsSyQlZnNv3Udqn9GXehptZv+/dBs9hvYqMab38lQj+x/39eagDiVWebqLxPhagr89XV89A7tjrX+iTEzI4r+//0il1KPM3/Zazhy7xelxW20RrKDamFfOXCCpF5J9Ajoj8T/2flggwFkwZkUNNAI32mSmJPhuKAylZeEsWbeLTOLfv3+iVcTpjB85h/LD5HK1UchLP7d8d7P9DGGOilr+RxecDE4CzARtAFkK+Rvx6PDw1v8G78rpTTBSWlCPUvZw3PGgsIS6ZCb3/xCdb/ggD5pLVrpxXPp9M14x2tceMmzk/IsYV2BgHY4Iv0DWLh6vqshaIx6vW3H3UY87SQm58vgBvfw1fXTcbuig25YKpqiza/r8U7HyKXhlncnbePbyxbO9x4woAUhLjSE6Mp6Sskm6ZKZw1IJsPvt0d0gu0jXEwpnGCOo5ARLoDfwXG4dxofgrcoKrbmhtoIGIhEQD8bs4Knv1iy3F38t4udKG8KK7c9Ryfb/sz2W0H8chbF7NuV2KjzxGKC7SvMRc2xsEY74I9juCfwGtANyAHeN3dZoLo7ilDeWhqfkDzC/maTvpXzxccM26gIXOWFjJu5nzy6o01GNLpcib2vp/iw+uZfOL/0CljR6M/S2NjCYTNnGpMaARaIlimqsPrbStQ1fyQRVZHrJQIGiNvxpteq5E8/N2RB1Ki2FO2in8VXE9C/GHmfHEp64qa1oU0WKWD5pQIrG3BxKJnZgsxAAAgAElEQVRglwh2i8gPRCTe/fkBsLd5IRpfPHfquTPepM8tbx03Ohj8dxdtaDUzCGwFtI5tB9Ij+S/sK+3ApeP+zZh+n0GD6adxsfgqkfjirWdUIDOn2qpsxjSsMUtVXgbsAIqAS9xtJsjqXrQAqt0SW/2LVyDdRRuqMgm0muV7I4fx2hc/Zc32AUzMf5vvjnmFhPiKgD+Pr/M25eLc1Km5G7vspzGxJtClKrcAF4Q4FoP3i5ZH3SUl63cX9aahUkMgC9R4qlP2HBRe+Wwq4wZ9xOmDP6Rzxk5e+uz7VFZmU1ZRfUyvoUBjaeqSmU1Z9jFa2xasOsu0lEBXKDMtxN/Fqe7rnouir/r+hqpM/K2AVv+cShwLvjmLon05XHTyy/z8vCeY1OeP9Mw49ZjzBhpLYy/OzbkoRuOqbPW/R0+JCbBkYILOJp2LMP4uTt5eb0qVieeYzJSjXUOTE4/+c/A1id3hw8O5Kv85slJyeGf9r1i8/e/U6NH9Ao3F1+dUOK69oLl1/E1tWwgnq84yLclKBBHG2526R0MXr6ZUmQAcqaqpfVxcVll719nQHXt6Ug8u7P8Un2y5lyU7Hqfo4GLOzP0D7dp09hqLp1G47t18Q5+z/t1vU6uRPOpWo0VLNUu0VmeZ6BRQiUBEOovIkyLyH/f5IBG5NrShxaa6d9RA7WR0TV2zuCENXWB93bF7tifEpXBmrzs5o9ft7C77hldWXc6mkg+P29/X3TxwzOesr+7dbzAuilNG5LBgxtlsnHkeC2acHdFJAHyXmCK5OstEr0BLBE/jDCC71X2+BngeeDIEMcW8pt7dN1ZDF9iHpub7resXEfp1uIBOqcOZv/EW5m34NcmcyxPvncrWfVV0y0zh0JEqn8nGc0H2NSbCE1801vE3l782HGOCKdA2go6q+gJQA6CqVYD3ri0majR019mYdofM5F5c2P9pUriQw7zFOaMfpnPmdgpLygNa8czf3e/0c/qTGHfsNN2JcdKiF8XGjnlorqZ2lTWmKQItERwSkQ64o4lEZCywv6EDRKQH8AzQBSeBPK6qfxGR9jiliVxgE3CZqhY3KXrTLP7uOuvXrXuqarxdjOLj2vDou6eSnJzGeSfO5eoJj7Ng1eksWHU6NTXH/zOre/EP6O63/nINgS3fEJQumOHqwdNSJUNjAi0R3IQz11AfEVmAc4H/hZ9jqoBfq+pAYCzwMxEZBMwA3lfVvsD77nMTBv7uOhvbW2d7STnrd/Tj8bd/ztdbhnL64A+5Zvzjx81VVP8i7y+O+99ZTWX1sZVHldXqtwdNsEYUWw8e09oFNNcQgIgkAP1x7sVWq6r3Mr/v4+cCj7g/Z6pqkYh0BT5U1QbL+DbXUHg0dm6f+vv367aK74x6nZSkcpZvOJt3C06mc3pao+/KfbUhCLBx5nlBiz/Y729MuAU611BAVUMiclW9TSNFBFV9JsDjc4ERwJdAZ1UtAnCTQadAzmFaXmN769Sv4lmzfSC79/fmxvM+ZcQJ8xh9wje8+dX53Pi8U83kKRV4qm4y2yaiCiXllcSLUK3qjHOov8qOy19jcbC6YLZkY7WNJjbhEGjV0Il1fk4D7iDAKSdEpB3wMvArVT0QaGAicp2ILBKRRbt37w70MBNEvi50cSJeq1e8VfHcfv5JXDXyQTK4g70Hy5l84t85f8zLFJfvZvqLy5j+0rLaqpvissraxmXPHEsl5ZV4K7QG0oOmMYPWGtJSA9JscjwTLgFXDR1zkEgG8H+q2mAyEJFE4A3gHVV90N22GqsaigrepovwaOzU0uNmzmdn6QHGDfyYk/t/SkVVGz5cOZ6lG0ah2vDkefXFi/Dny4b7fe/fzVnBv77Y4vP1xnyGlrhTt4V3TLAFtWrIizKgr58ABGecwSpPEnC9BkwDZrq/5zYxBhNCngtfIBPgBWJ7STlKIh+tHM/KzcOYPOp1vjPqDUadsJD3CiazcecJAcdWoxrQ+37wbcMlycaOTg51FY2NJjbhEmgbwescraWNAwYBL/g5bBzwQ2CFiBS4236LkwBecEcmbwEubWzQJrQaKgnU1ZgLVN169r2l2Tz74TX0z1nF+OHvcMUZz7Bue1/eWzaZvaXZAZ0rEIHEF0kX2VgcOGciQ6AlggfqPK4CNvtbr1hVP8V3b+/xAb6vaaLmVGU0VBKoqzEXqOPHCghrCwexrqgfo/t+wakDP+K6c/7GkvWjWbDqDA4eTvN6nsbUzfu6sNYVJ0LejDcjomHWRhObcAl0PYKPQh2ICZ7mDoAK5C65sReo+oPTMlISOVRRRWV1Al+uPpUVm/I5ffAHjOyziOF5S1m87iQ++/ZUkuIzEIGSsspGX6wbmtjOo/7CP3VjbWnRODmeaR0abCwWkVK8r00ogKpqeqgCq8saixunuY2Ovo6PF6FGNSgXKF/vMaDrIX5z4QrW7fsPiXFtGdrpCoZ2vpI28d5LCP7ULRllpCTWJpU4t3tqfdYwa1qToDQWq2rT/veZsGpuo6OvKopgznXjK5bVRamclfsH8jtfw+Kix1iy4wm+3v08g7IvY3D290lJzGrU+/hq5M2b8abX/f1VJRlTX2sY+9GohWlEpJOI9PT8hCoo0zzNncK4JSY88xdjVkpvJvT+ExcNeJYu7UaydMc/eG7leXy29X4OVhSF7P0FrN++CVhrGfsR0DgCEbkA+DPQDdgF9MLpFjo4tOE5rGqocXwtFxlJs1c2Nsbi8o0s3zmLtfveQoF12/P5aOUY4ul93AjlQO7K5iwt5MbnC7zWe1r1kAlUpI/9CPY4gj/gTBz3nqqOEJGzgMubE6AJnWhpdExKiKtNBFltE7n9u4N9xpiVkscZuXewZ98U3lv3JENyv+LaSYvZursnT34+ljXbB3GkyingBtLwO2VEDr96vsDra5HUpTScWkOVR6i1lrEfgSaCSlXdKyJxIhKnqh+IyH0hjcw0SyRPYeytNHC4sqaBI4568N19FJZM5oMVZzAsbwmjT1jIBWNfoLQsjSUbTmTphlEcOpwW0GCxHOu371O4pt6ONq1l7EegbQQl7pxBHwPPishfcMYTGNNozZnW2fOf7nBlCgvXjOPR/9zA859cya4DnThjyHx+ef6fuWTcv+nXbRU79h9s8FzBmEOopResaSk29XZgWmoeqlALtERwIVAO3AhcCWQAd4UqKNO6NbU4PWdp4XETkarGsa6oP+uK+tM+bQ/D85YwrFcB/XO+pfxIO77ctoF+HS4gK6X3cedrbhVaa75rbi1VHqEWLdWw/gTaWHwj8KK/0cShYo3FrUtTG9h8HQeQGC+1i9fESTUDu6/nspPXUclXKNV0SOlP76yJ9M6aRHpScP6TRnpDYXO05s8WSwJtLA60aigdeEdEPhGRn4lI5+aFZ2JZU4vTDd2N3n/J8Nrurl0z2vHjUy5j2si/ceXQtxnb/dfEx7Xhq+2P8PzXFzDn26tYvvNfHKw4duW0xlbztOa75tZS5WECE+gUE3cCd4rIMGAq8JGIbFPVCSGNzrRKTS1O+2qYy8lM8dk4npLY3hmd3OkKSo9sZ0PxPDYUv8uXhQ/xZeFDdEjpT6+MM9iwYwC3vVpGudtoHUg1T2tpKPSmtVR5mMA0aj0CEemCM1vo94E0VR0WqsDqsqohA8EdH7H/8BY2lrzPlv2fsPPQckA5UJbOuqJ+rN3en827c6msSiIzJZGC2yeFPB5jQiHQqqFA2wj+H05JIBt4CXheVb9pdpQBskRgPELRt728ch9Tn/xf+nZbTe/O62iTWEF1TRyFe3uwcWdvLhwyme+NOIM4SWyReFri3CY2BDsRzARmq6r3ETghZonAhJqncTQ+rpKe2ZvJ7bSBvM4b6JJVhIiSGJdK17RRdG03gs7tRtAxZQDxcccnhmCx0oYJhqAmgnCzRBBesXBnOmdpodeRxiltysjttJHfXlDF9tKFHDiyFYB4SSI7dRCdU4fTpV0+nVKHkZyQEbR4rNeOCYZQL1VpYkRr7itf15QROdz5+tcUl1Ues728oi0HDo7mtJ7Oxbescg87Dy5jx6Fl7DxYwPKd/8eynU8DkJ7Ug45tB5LddiAd2w6kY9sBTZ4+uzX3SDKRxxKBaVBDI0xbUyIAuP27g/2uENY2sSN5WePJy3IW2auqKWfXoa/ZeWg5ew59w65Dy9lQ/G7t/ulJPchuO4gOKf3JSulD+5Q+pCZ2wVnS27fW3CPJRB5LBKZBsXRn2pQukwlxKXRLG023tKOl7/LKYvaUr2JP2bfsKVvFzkPLWV/8Tu3riXGpZKX0JivZSQxZySeQldKblIQOtQnClq2MHq2h6tTaCEyDormuOtj/QZtzviNVpRQfXk9x+Xr2HV5Pcfk69pWv40j1/tp9EuNSyUjuRUZSDzKSerF2Rxr//qKSNUXt6JCaFZUXmNYu0hv1rbHYBEWk/0P3Jdhxh+J7UFXKq/a5CWID+49sYf/hzew/ssVdfOfo/82UhPakJ/UkI7kn6W26k5bUjbSk7qS16UZKQnu/VU31P0u038FGiki/UbJEYIImWi4cdeMM9prELf0fvqrmCAeObGP/kc0cOLyV/Uc2u4liC+VVe4/ZNyEumbQ2OaQl5ZDWphvpSTl1nueQGH+0XSFaE3ukypvxptfFjcD5txHu/yvWa8gETSSvbeBR/wLnLQlA09s2gtlWEkhiTYhLor3buFxfZXU5pRXbKa0opPRIofP4iPN4e+lXVNUcG1NKQnvS2nQjLSmH99ZX0a97GsUHsyg+2J7S8jTKK2mVjf8twVejPkRXDztLBKZV8Na7yZum9roJVi+eYHTHTYxP8ZkkVJXDVSWUVmyj9IiTLA64yWLXoZUMzS1ieO+jiwBVVcdTciiLkoNZLNi6iPSk7qS3ySEtqTvpSd1IiLNeSg3x1qhfV7T0sLNEYFqFQO7ME+OEsooq8ma82egqrsb04mnojj/U3XFFhJTELFISs+iUOvS410+9bx4HK3aQ1W4fmanFtb87ZZSwdu8bVNYcOmb/tokdSWvTnfSkHCdJJHUnIymXzORcEuPbNjveaFf37+qrZBANPewsEZhWwdcde7wINapkpCRyqKKqdsBYY+/EA+1a6u+OP9zdcW+eNIhbXqlm4872tds8bQQXDu/GkeoSDhzZxoEjhRw4ss0tUWxje+ki1u5785hzpSZ2JjM51/3Jq/1dtxtsLPBUnfpqR4qGsR+WCEyr4OuO3dMIOm7mfErK640arqzm1y8sAwJPBr7285QCvF0I6t7xh3ugmL+ElpyQRXKC99JEVc0RSo8UUnJkEyWHPT8bWbP3dSprymr3axPfzh0j0ZcObfvTIaUv7VNOaPXVTNE89sMSgWkV/F3gfN1xV6s2u0HPW0+c+jzvHwkXi6Y2/ifEJTkD4eot+6mqHKrcRcnhjbXJofjwetbt+w+r9rwEgBBHelKP2sTQoe0AstsODur8TOEWzWs4WPdRExMaWuYSmtcN1N+5658/WrrjNpeqUlqxnX3la9hbtoa95WvYV76W0oqjK79lJPUiO3UInVKH0KntENqn9A3prK6xxrqPGlOHv94dzamj93ds/Tv+aOiOGwwi4jYy55CbeVbt9orqUvaUfcuuQyvYdWglhQe+YJ3b/hAvSXRsO4Cu7UbRNW0UnVOHHzMOwoSGJQLTajR0p+35/esXlnkdY9CcOvqG+pJHwqCiSNMmPo1uaSfSLe1EwCk5HKzYwa6yFew+tJKdB5exbOcsCnY+hRBPdupgutUmhnxLDCFgicC0CoH0z/f8DnYdvb+GatMwESEtqStpSV3pk+UsC1pZXcaOQwXsKF3C9oOLWbbzGQp2/pM4SaRru5H0SB9Hj4xTyEjKjakeSqFibQSmVWjMFBChqKOPlXr/cPEkhsIDX7D1wGeUHN4IQLs23eiRfgo9MsaRk3YSCXFJYY40sthcQyam+JrzRYCNM89r6XBMiJUe2c7WA5+x7cBnFJYupKqmnMS4tvTMOI3czLPpkT7OqpCwxmITY8LdPz/StbYSS1pSNwZlX8Kg7Euorqlge+kiNpa8z+b9H7K++B3iJYke6aeQlzWeXhlnWlLwwxKBaRUioX9+pGrty43Gx7WhR8Yp9Mg4hRq9hR0HC9hYMp9NJfPZtP8DEuJSyMs8m77tz6Nr2mjiJD7cIUccqxoyrUZru+sNllBPoR2p37tqDTsOFrB235tsKJ5HZc0hUhM70af9d+jX/vzjBsa1RmFvIxCRp4DzgV2qOsTd1h54HsgFNgGXqWqxv3NZIjCm6ULZfhIt6xtU1Rxm8/6PWbf3LbYe+Aylmi7tRjKw4/fIyzyb+Lg24Q4xJAJNBHEhjOFpYHK9bTOA91W1L/C++9wYE0K+2kmC0X7S0GyqkSQhLpk+WZM454SHuXLo24zJuYFDFTv5YNOt/HvluSws/CsHjhT6P1ErFbJEoKofA/vqbb4QmOU+ngVMCdX7G2Mc08/pT0risfXijWk/mbO0kHEz55M3403GzZzPnKVHL5jhnk21KVIS2zO881VMHTyH75zwCJ1Th7N85//x/NcX8u76X7PjYAHRUGUeTC3dWNxZVYsAVLVIRDq18PsbE3OaMxmav4bmaO6tJRJH9/ST6Z5+MgcrdvLtnpf5ZvdLbN7/IZ1ShzKs0w/plXlmTDQuh7SxWERygTfqtBGUqGpmndeLVTXLx7HXAdcB9OzZc9TmzZtDFqcxxjt/Dc3R0kYQqMrqctbue50Vu57lwJFtpLXJYVjnH9C/w5SobEeIhDYCb3aKSFcA9/cuXzuq6uOqOlpVR2dnZ7dYgMaYo/xV/UwZkcO9Fw8lJzMFwUkQ0ZoEwFkGdFD2ZVw66BUm5N1PSmJ7Fmy9j+e/nsI3u1+guqYi3CGGREtXDb0GTANmur/ntvD7G2MaIZCqn9Y4m2qcxJOXdTa5mWexvXQhi4v+zoKt91Gw42nyu1wdtSUEX0JWIhCR54DPgf4isk1ErsVJABNFZC0w0X1ujIlQzW1ojnYiQk76SXy335Oce8L/0q5Nl9oSwpq9r1OjvhcjiiY2oMwY06BIHTAWDqpKYemXfLX9b+wp+4b2Kf04KeeXdE8/OdyheRX2AWXBZInARLNIvZBGalzRQLWGDcXz+Gr73yitKCQnbSwn5dxAh7b9wh3aMSwRGBMBIrVXTaTG5UukJq3qmgq+2f0iS3f8gyPVpQzoeDEndrue5IRM/we3gEjtNWRMTInUkbeRGpc3nqRVWFKOcnQsQ92BbeESH9eGoZ2vZOrguQzJ/j6r98zhha8vZtWeV6Kq/cASgTEhFKkjbyM1Lm+iIWklJaRzco+buXjgs2Sl9ObTLfcwd/XV7Dq0MtyhBcQSgTEhFMp5fpojUuPyJpqSVvuUvpzf9wnOyv0Dhyp28vHmu1CtCXdYflkiMCaEIrX7ZaTG5U00JS1wupye0P5cLhv8ChN634dI5F9mbWEaY0KoOfP8BFv9Btfvjcrhg293hz0uf6J10aE28e1oE9+uSce2dOO49RoyJgZEWy+h+iK111AoBPNvZWsWG2NqNdTgGg0X1NY4jYUv4fhbRX7llTGm2aKpwTXWheNvZYnAmBgQbQ2usSwcfytLBMbEgGjqJRTrwvG3sjYCY2JAJPVeMg0Lx9/Keg0ZY0wrZXMNGWOMCYglAmOMiXGWCIwxJsZZIjDGmBhnicAYY2JcVPQaEpHdwOYmHt4R2BPEcELBYgyOaIgRoiNOizE4wh1jL1XN9rdTVCSC5hCRRYF0nwonizE4oiFGiI44LcbgiIYYwaqGjDEm5lkiMMaYGBcLieDxcAcQAIsxOKIhRoiOOC3G4IiGGFt/G4ExxpiGxUKJwBhjTANadSIQkckislpE1onIjHDH442IbBKRFSJSICIRMbOeiDwlIrtEZGWdbe1FZJ6IrHV/Z0VgjHeISKH7XRaIyLlhjrGHiHwgIqtE5GsRucHdHjHfZQMxRsx3KSLJIrJQRJa5Md7pbs8TkS/d7/F5EWkTgTE+LSIb63yP+eGKsSGttmpIROKBNcBEYBvwFXC5qn4T1sDqEZFNwGhVjZj+0CJyOnAQeEZVh7jb/gTsU9WZblLNUtXfRFiMdwAHVfWBcMVVl4h0Bbqq6hIRSQMWA1OAq4mQ77KBGC8jQr5LEREgVVUPikgi8ClwA3AT8IqqzhaRx4BlqvpohMX4U+ANVX0pHHEFqjWXCMYA61R1g6pWALOBC8McU1RQ1Y+BffU2XwjMch/PwrlYhI2PGCOKqhap6hL3cSmwCsghgr7LBmKMGOo46D5NdH8UOBvwXGDD/T36ijEqtOZEkANsrfN8GxH2D9ylwLsislhErgt3MA3orKpF4Fw8gE5hjseXn4vIcrfqKKzVV3WJSC4wAviSCP0u68UIEfRdiki8iBQAu4B5wHqgRFWr3F3C/v+7foyq6vke73G/x4dEJCmMIfrUmhOBeNkWiRl6nKqOBL4D/Myt8jBN8yjQB8gHioA/hzcch4i0A14GfqWqB8IdjzdeYoyo71JVq1U1H+iOU9of6G23lo2q3pvXi1FEhgC3AAOAE4H2QNiqUxvSmhPBNqBHnefdge1hisUnVd3u/t4FvIrzjzwS7XTrkz31yrvCHM9xVHWn+5+xBniCCPgu3fril4FnVfUVd3NEfZfeYozE7xJAVUuAD4GxQKaIeJbbjZj/33VinOxWvamqHgH+SYR8j/W15kTwFdDX7VnQBvg+8FqYYzqGiKS6DXSISCowCVjZ8FFh8xowzX08DZgbxli88lxcXRcR5u/SbUB8Elilqg/WeSlivktfMUbSdyki2SKS6T5OASbgtGV8AFzi7hbu79FbjN/WSfiC04YRkf+/W22vIQC3y9vDQDzwlKreE+aQjiEivXFKAQAJwL8jIUYReQ44E2fmxJ3A7cAc4AWgJ7AFuFRVw9ZY6yPGM3GqMhTYBPzEUxcfDiJyKvAJsAKocTf/FqcOPiK+ywZivJwI+S5FZBhOY3A8zs3rC6p6l/v/ZzZOlctS4AfunXckxTgfyMapqi4AflqnUTlitOpEYIwxxr/WXDVkjDEmAJYIjDEmxlkiMMaYGGeJwBhjYpwlAmOMiXGWCEyDxJkdtWO44wAQkfxAZsEMdL9mxjLAnU1yqYj0qffab+s8zpU6M6RGInem0Zv97DNFRAbVeX6XiEwIfXSmJVgiMBHBnS3Wn3wgkAt8oPs1xxRgrqqOUNX19V77rbcDotwUoDYRqOptqvpeGOMxQWSJwARMRG4SkZXuz6/cbf8tIr90Hz/kDqBBRMaLyL/cx5NE5HMRWSIiL7rz2nhKG7eJyKfApfXe61L3fZaJyMfu6PC7gKnunfhUERkjIp+5d+WfiUh/H/sdc8frnjfXHdn9pvseK0VkqpfPnC8iX7iThr0qIlluaeNXwI9E5IN6+88EUtz3ftbdHC8iT4gzT/277shTRKSPiLwtzoSDn4jIAC/vf4eI/J+IzBdn3v0fu9tFRO53417hiV1EznS/r1dF5BsReUxE4tzXDtY57yUi8rSX9/uxiHzlficvi0hbETkFuAC43/1cfcSZZ/+SOn/rpW4cT4k7sZr7973T/buv8Pb5TIRQVfuxH58/OKNKOwKjcEafpgLtgK9xZqocC7zo7vsJsBBnCt7bgZ+4x36MM1c7OJNu3Vbn3P/t431XADnu40z399XAI3X2SQcS3McTgJd97HcHcHOd5yuBXOB7wBN1tmd4iWM5cIb7+C7gYW/nrHfMwTqPc4EqIN99/gLOCFiA94G+7uOTgPleznUHsAxIcb/LrUA3N/Z5OCNZO+OMUO6KM7r6MNDbfW0ecImXuC4Bnq7/WYAOdfa5G/iF+/hpz3nqPgeS3Zj6udufwZm4zvP39Rx/PfCPcP97th/vP1YiMIE6FXhVVQ+pM0T+FeA0nIVMRokzZ9IR4HNgtPvaJziJYhCwQJwpeqcBveqc93kf77cAeNq9A/ZVbZQBvOjWwT8EDG7kZ1oBTBCR+0TkNFXdX/dFEcnASUIfuZtmAU2ZHXajqha4jxcDuW6p6BQ3/gLg7zgXcm/mqmq5OosXfYAzcdmpwHPqTAy3E/gIZ4ZLgIXqrMNRDTzn7huoIW7pZAVwJf6/0/7u51vjPq//HXkm2luMkxRNBErwv4sxgPdpvVHVSnFWWbsG+AznDvosnCmMV7m/56nq5T7Oe8jHeX8qIicB5wG+lvj7A/CBql4kzlz6H/p4jyqOrQZNdt9jjYiMwmlPuFdE3lXVu3ycoznqzn9TjXN3H4czn34gSxfWnwdG8fH3aGD/+tuTfRz7NDBFVZeJyNU4JYyGNBQHHP3s1dj1JmJZicAE6mNgiltnnIozI+UndV672f39Cc7yfAXq1Al8AYwTkRMA3OP7+XszEemjql+q6m3AHpwpxUuBtDq7ZQCF7uOr62yvv98mYKR73pFAnvu4G1Cmqv8CHvDs4+GWEIpF5DR30w9x7rz9qRRnamef1Jnzf6OIXOrGIiIy3MfuF4qzJm4HnAvzVzjf9VRxFkPJxrkLX+juP0acWXfjgKk4yyaCM/31QHf7RT7eKw0ocuO/ss72+t+px7c4JZwT3OeBfkcmglgiMAFRZznDp3EuNl/i1PcudV/+BKda43O3muKwuw1V3Y1zkX5ORJbjJIZAGg3vdxsYV+Jc9JbhVIsM8jQCA3/CuZNfwLHVR/X3exlo71bB/D+ctawBhgIL3e234tSJ1zfNjWU5Tm+kQEoMjwPL6zQW+3IlcK2ILMNpc/G1lOpC4E2c7+4P6qxh8SpO6WsZMB+nrWWHu//nwEyctpCNHJ3hdgbwhru/r5lEf4/z952Hc5H3mA1Ml3rdZVX1ME5p8EW3OqkGeMzP5zYRxmYfNSaCicgdNGIReRE5E6fh9/xQxmVaFysRGGNMjLMSgTHGxDgrERhjTIyzRGCMMTHOEoExxsQ4SwTGGBPjLBEYY0yMs8GZwaoAAAAMSURBVERgjDEx7v8D5vZxj1ycWZMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "colors = ['teal', 'yellowgreen', 'gold','red']\n",
    "r2score =[0.64,0.65,0.66,0.65]\n",
    "for count, degree in enumerate([2, 3, 5, 6]):\n",
    "    p = PolynomialFeatures(degree).fit(X_train)\n",
    "    y = Y_train.reshape(1,404)\n",
    "    X = np.matrix(p.transform(X_train))\n",
    "    est = least_square_estimator(X, y).tolist()\n",
    "    x = np.linspace(0,35,1000)\n",
    "    y= f(est,x)\n",
    "    plt.scatter(X_test,Y_test)\n",
    "    plt.ylabel('value of house/1000($)')\n",
    "    plt.xlabel(' lower status of the population')\n",
    "    plt.plot(x,y, label=\"degree %d\" % degree +' - R2 = %0.2f' % r2score[count], color=colors[count]);\n",
    "    plt.legend()\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## General Polynomial Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = bos.drop('PRICE', axis = 1)\n",
    "y = bos['PRICE']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CRIM</th>\n",
       "      <th>ZN</th>\n",
       "      <th>INDUS</th>\n",
       "      <th>CHAS</th>\n",
       "      <th>NOX</th>\n",
       "      <th>RM</th>\n",
       "      <th>AGE</th>\n",
       "      <th>DIS</th>\n",
       "      <th>RAD</th>\n",
       "      <th>TAX</th>\n",
       "      <th>PTRATIO</th>\n",
       "      <th>B</th>\n",
       "      <th>LSTAT</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.00632</td>\n",
       "      <td>18.0</td>\n",
       "      <td>2.31</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.538</td>\n",
       "      <td>6.575</td>\n",
       "      <td>65.2</td>\n",
       "      <td>4.0900</td>\n",
       "      <td>1.0</td>\n",
       "      <td>296.0</td>\n",
       "      <td>15.3</td>\n",
       "      <td>396.90</td>\n",
       "      <td>4.98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.02731</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.07</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.469</td>\n",
       "      <td>6.421</td>\n",
       "      <td>78.9</td>\n",
       "      <td>4.9671</td>\n",
       "      <td>2.0</td>\n",
       "      <td>242.0</td>\n",
       "      <td>17.8</td>\n",
       "      <td>396.90</td>\n",
       "      <td>9.14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.02729</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.07</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.469</td>\n",
       "      <td>7.185</td>\n",
       "      <td>61.1</td>\n",
       "      <td>4.9671</td>\n",
       "      <td>2.0</td>\n",
       "      <td>242.0</td>\n",
       "      <td>17.8</td>\n",
       "      <td>392.83</td>\n",
       "      <td>4.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.03237</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.18</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.458</td>\n",
       "      <td>6.998</td>\n",
       "      <td>45.8</td>\n",
       "      <td>6.0622</td>\n",
       "      <td>3.0</td>\n",
       "      <td>222.0</td>\n",
       "      <td>18.7</td>\n",
       "      <td>394.63</td>\n",
       "      <td>2.94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.06905</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.18</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.458</td>\n",
       "      <td>7.147</td>\n",
       "      <td>54.2</td>\n",
       "      <td>6.0622</td>\n",
       "      <td>3.0</td>\n",
       "      <td>222.0</td>\n",
       "      <td>18.7</td>\n",
       "      <td>396.90</td>\n",
       "      <td>5.33</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      CRIM    ZN  INDUS  CHAS    NOX     RM   AGE     DIS  RAD    TAX  \\\n",
       "0  0.00632  18.0   2.31   0.0  0.538  6.575  65.2  4.0900  1.0  296.0   \n",
       "1  0.02731   0.0   7.07   0.0  0.469  6.421  78.9  4.9671  2.0  242.0   \n",
       "2  0.02729   0.0   7.07   0.0  0.469  7.185  61.1  4.9671  2.0  242.0   \n",
       "3  0.03237   0.0   2.18   0.0  0.458  6.998  45.8  6.0622  3.0  222.0   \n",
       "4  0.06905   0.0   2.18   0.0  0.458  7.147  54.2  6.0622  3.0  222.0   \n",
       "\n",
       "   PTRATIO       B  LSTAT  \n",
       "0     15.3  396.90   4.98  \n",
       "1     17.8  396.90   9.14  \n",
       "2     17.8  392.83   4.03  \n",
       "3     18.7  394.63   2.94  \n",
       "4     18.7  396.90   5.33  "
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will take 3 variables this time."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = X[['LSTAT','INDUS']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(404, 2)\n",
      "(102, 2)\n",
      "(404,)\n",
      "(102,)\n"
     ]
    }
   ],
   "source": [
    "X_train, X_test, Y_train, Y_test = train_test_split(X, y, test_size = 0.2, random_state=5)\n",
    "print(X_train.shape)\n",
    "print(X_test.shape)\n",
    "print(Y_train.shape)\n",
    "print(Y_test.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Pipeline(memory=None,\n",
       "     steps=[('polynomialfeatures', PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)), ('ridge', Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,\n",
       "   normalize=False, random_state=None, solver='auto', tol=0.001))])"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "degree = 2\n",
    "model = make_pipeline(PolynomialFeatures(2), Ridge())\n",
    "model.fit(X_train, Y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_train_predict = model.predict(X_test)\n",
    "rmse = (np.sqrt(mean_squared_error(Y_test, y_train_predict)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The model performance for testing set is\n",
      "RMSE is 5.21081507904022\n",
      "R2 score is 0.65\n"
     ]
    }
   ],
   "source": [
    "y_predict = model.predict(X_test)\n",
    "rmse = (np.sqrt(mean_squared_error(Y_test, y_predict)))\n",
    "r2 = round(model.score(X_test, Y_test),2)\n",
    "\n",
    "print(\"The model performance for testing set is\")\n",
    "print('RMSE is {}'.format(rmse))\n",
    "print('R2 score is {}'.format(r2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "p = PolynomialFeatures(2).fit(X_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>1</th>\n",
       "      <th>LSTAT</th>\n",
       "      <th>INDUS</th>\n",
       "      <th>LSTAT^2</th>\n",
       "      <th>LSTATxINDUS</th>\n",
       "      <th>INDUS^2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>18.35</td>\n",
       "      <td>8.14</td>\n",
       "      <td>336.7225</td>\n",
       "      <td>149.3690</td>\n",
       "      <td>66.2596</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>3.16</td>\n",
       "      <td>1.21</td>\n",
       "      <td>9.9856</td>\n",
       "      <td>3.8236</td>\n",
       "      <td>1.4641</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>20.62</td>\n",
       "      <td>18.10</td>\n",
       "      <td>425.1844</td>\n",
       "      <td>373.2220</td>\n",
       "      <td>327.6100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.0</td>\n",
       "      <td>9.08</td>\n",
       "      <td>11.93</td>\n",
       "      <td>82.4464</td>\n",
       "      <td>108.3244</td>\n",
       "      <td>142.3249</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>20.31</td>\n",
       "      <td>18.10</td>\n",
       "      <td>412.4961</td>\n",
       "      <td>367.6110</td>\n",
       "      <td>327.6100</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     1  LSTAT  INDUS   LSTAT^2  LSTATxINDUS   INDUS^2\n",
       "0  1.0  18.35   8.14  336.7225     149.3690   66.2596\n",
       "1  1.0   3.16   1.21    9.9856       3.8236    1.4641\n",
       "2  1.0  20.62  18.10  425.1844     373.2220  327.6100\n",
       "3  1.0   9.08  11.93   82.4464     108.3244  142.3249\n",
       "4  1.0  20.31  18.10  412.4961     367.6110  327.6100"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "features = pd.DataFrame(p.transform(X_train), columns=['1','LSTAT','INDUS','LSTAT^2', 'LSTATxINDUS','INDUS^2'])\n",
    "features.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exercice 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "def f(x):\n",
    "    \"\"\" function to approximate by polynomial interpolation\"\"\"\n",
    "    return  2 + 4*x+ x**2\n",
    "\n",
    "x = np.linspace(0, 10, 11)\n",
    "y = f(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  2.,   7.,  14.,  23.,  34.,  47.,  62.,  79.,  98., 119., 142.])"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.matrix([[1,0,0],[1,1,1],[1,2,4],[1,3,9]])\n",
    "y = np.matrix([[2,7,14,23]])\n",
    "a,b,c = least_square_estimator(X, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exercice 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "def f(x1,x2):\n",
    "    \"\"\" function to approximate by polynomial interpolation\"\"\"\n",
    "    return 2+x1*4 + 3*x1**2+ x1*x2*(-1)\n",
    "\n",
    "x1 = np.linspace(0, 10, 11)\n",
    "x2 = np.linspace(12, 15, 11)\n",
    "y = f(x1,x2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([12. , 12.3, 12.6, 12.9, 13.2, 13.5, 13.8, 14.1, 14.4, 14.7, 15. ])"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  2. ,  -3.3,  -3.2,   2.3,  13.2,  29.5,  51.2,  78.3, 110.8,\n",
       "       148.7, 192. ])"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.matrix([[1,0,12,0,0,144],[1,1,12.3,1,12.3,151.29],[1,2,12.6,4,25.2, 158.76],[1,3,12.9,9,38.7,166.41]])\n",
    "y = np.matrix([[2,-3.3,-3.2,2.3]])\n",
    "\n",
    "# , [1,4,13.2,16,52.8,174.2],[1,5,13.5,25,67.5,182.25],[1,6,13.8,36,82.8,190.4]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[  1.  ,   0.  ,  12.  ,   0.  ,   0.  , 144.  ],\n",
       "        [  1.  ,   1.  ,  12.3 ,   1.  ,  12.3 , 151.29],\n",
       "        [  1.  ,   2.  ,  12.6 ,   4.  ,  25.2 , 158.76],\n",
       "        [  1.  ,   3.  ,  12.9 ,   9.  ,  38.7 , 166.41]])"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-3.3595579363327764e-35"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.linalg.det(np.transpose(X) * X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[ 0.4375    ],\n",
       "        [-8.125     ],\n",
       "        [ 0.1875    ],\n",
       "        [ 2.6796875 ],\n",
       "        [ 0.0625    ],\n",
       "        [-0.01367188]])"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "least_square_estimator(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [],
   "source": [
    "x11=57\n",
    "x12=59\n",
    "x13=49\n",
    "x14=62\n",
    "\n",
    "\n",
    "x21=8\n",
    "x22=10\n",
    "x23=6\n",
    "x24=11\n",
    "\n",
    "y1=64\n",
    "y2=71\n",
    "y3=53\n",
    "y4=67"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.matrix([[1,x11,x21,x21**2],[1,x12,x22,x22**2],[1,x13,x23,x23**2],[1,x14,x24,x24**2]])\n",
    "y = np.matrix([[y1, y2, y3,y4]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[  1,  57,   8,  64],\n",
       "        [  1,  59,  10, 100],\n",
       "        [  1,  49,   6,  36],\n",
       "        [  1,  62,  11, 121]])"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[    4,   227,    35,   321],\n",
       "        [  227, 12975,  2022, 18814],\n",
       "        [   35,  2022,   321,  3059],\n",
       "        [  321, 18814,  3059, 30033]])"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.transpose(X) * X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[ 2.27953287e+02, -4.15397924e+00, -9.14965398e+00,\n",
       "          1.09775087e+00],\n",
       "        [-4.15397924e+00,  3.44290657e-01, -2.84515571e+00,\n",
       "          1.18512111e-01],\n",
       "        [-9.14965398e+00, -2.84515571e+00,  3.42474048e+01,\n",
       "         -1.60813149e+00],\n",
       "        [ 1.09775087e+00,  1.18512111e-01, -1.60813149e+00,\n",
       "          7.78546713e-02]])"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.linalg.inv(np.transpose(X) * X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[-19.52941176],\n",
       "        [ -1.41176471],\n",
       "        [ 32.97058824],\n",
       "        [ -1.55882353]])"
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "least_square_estimator(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "x11=3.343110055\n",
    "x12=2.761023144\n",
    "x13=1.143506822\n",
    "x14 =1.575802895\n",
    "\n",
    "\n",
    "x21=3268839.289\n",
    "x22=3836.810405\n",
    "x23=5242.503013\n",
    "x24 =-0.350108328\n",
    "\n",
    "y1=2\n",
    "y2=-3.3\n",
    "y3=-3.2\n",
    "y4=2.3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.matrix([[1,x11,x21,x11**2,x11*x21,x21**2],[1,x12,x22,x12**2,x12*x22,x22**2],[1,x13,x23,x13**2,x13*x23,x23**2],[1,x14,x24,x14**2,x14*x24,x24**2]])\n",
    "y = np.matrix([[y1, y2, y3,y4]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[-3.48750000e+01],\n",
       "        [ 4.06484375e+01],\n",
       "        [-1.97887421e-05],\n",
       "        [-1.05605469e+01],\n",
       "        [-2.86102295e-06],\n",
       "        [ 1.06723519e-11]])"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "least_square_estimator(X, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exercice 1bis"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.matrix([[1,-3,9],[1,1,1 ],[1,7,49]])\n",
    "y = np.matrix([[0,-1,12]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[ 1, -3,  9],\n",
       "        [ 1,  1,  1],\n",
       "        [ 1,  7, 49]])"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "xp = [-3,1,7]\n",
    "yp = [0,-1,12]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[-1.475     ],\n",
       "        [ 0.23333333],\n",
       "        [ 0.24166667]])"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "least_square_estimator(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [],
   "source": [
    "p = least_square_estimator(X, y).tolist()\n",
    "def f(estim, x):\n",
    "    s =0\n",
    "    for count, coef in enumerate(estim):\n",
    "        s+=coef *x **count    \n",
    "    return(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.linspace(-4,10,1000)\n",
    "y= f(p,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(xp,yp)\n",
    "plt.plot(x,y, color = 'black', label='Degree 2');\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.matrix([[1,-1, 1, 1],[1,1,1,1],[1,7,49,343],[1,12,144,1728]])\n",
    "y = np.matrix([[0,-1,12,6]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[   1,   -1,    1,    1],\n",
       "        [   1,    1,    1,    1],\n",
       "        [   1,    7,   49,  343],\n",
       "        [   1,   12,  144, 1728]])"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [],
   "source": [
    "xp = [-1,1,7,12]\n",
    "yp = [0,-1,12,6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[-1.13751103],\n",
       "        [-0.5       ],\n",
       "        [ 0.6871727 ],\n",
       "        [-0.04966167]])"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "least_square_estimator(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [],
   "source": [
    "p = least_square_estimator(X, y).tolist()\n",
    "def f(estim, x):\n",
    "    s =0\n",
    "    for count, coef in enumerate(estim):\n",
    "        s+=coef *x **count    \n",
    "    return(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(-4,13,1000)\n",
    "y= f(p,x)\n",
    "plt.scatter(xp,yp)\n",
    "plt.plot(x,y, color = 'black', label='Degree 3');\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 211,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.matrix([[1,1, 1, 1,1],[1,7,49,343,2401 ],[1,8,64,512,4096]])\n",
    "y = np.matrix([[8,7,1]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.matrix([[1,1, 1],[1,7,49],[1,8,64]])\n",
    "y = np.matrix([[8,7,1]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 212,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[   1,    1,    1,    1,    1],\n",
       "        [   1,    7,   49,  343, 2401],\n",
       "        [   1,    8,   64,  512, 4096]])"
      ]
     },
     "execution_count": 212,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 213,
   "metadata": {},
   "outputs": [],
   "source": [
    "xp = [1,7,8]\n",
    "yp = [8,7,1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 214,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[136.  ],\n",
       "        [ -8.  ],\n",
       "        [ -3.5 ],\n",
       "        [  0.25],\n",
       "        [  0.  ]])"
      ]
     },
     "execution_count": 214,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "least_square_estimator(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 215,
   "metadata": {},
   "outputs": [],
   "source": [
    "p = least_square_estimator(X, y).tolist()\n",
    "def f(estim, x):\n",
    "    s =0\n",
    "    for count, coef in enumerate(estim):\n",
    "        s+=coef *x **count    \n",
    "    return(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 216,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(0,9,10000)\n",
    "y= f(p,x)\n",
    "plt.scatter(xp,yp)\n",
    "plt.plot(x,y, color = 'black', label='Degree 4');\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### d)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 205,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.matrix([[1,0, 0, 0],[1,0.5,0.25,0.125],[1,1,1,1],[1,5,25,125],[1,20,400,8000]])\n",
    "y = np.matrix([[13,2,76,0,0]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.matrix([[1,0, 0],[1,0.5,0.25],[1,1,1],[1,5,25],[1,20,400]])\n",
    "y = np.matrix([[13,2,76,0,0]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "p = least_square_estimator(X, y).tolist()\n",
    "def f(estim, x):\n",
    "    s =0\n",
    "    for count, coef in enumerate(estim):\n",
    "        s+=coef *x **count    \n",
    "    return(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD9CAYAAACsq4z3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xt4FPXd9/H3l4RDRA6CQUAqIEVEBAJEQIFWsSQIKNaKensoClRay/MUKVTwUAtV0EdUKrb1jndoQaxSEAUFRYpaLygCiXJS5KhgAAk3Ch4Kcvo+f+xAEROySXazyeTzuq5cuzs7k/0wu/th8pvZHXN3RESk4quS6AAiIhIbKnQRkZBQoYuIhIQKXUQkJFToIiIhoUIXEQmJqArdzO40s/fNbK2ZPWdmNcysuZktM7ONZjbDzKrFO6yIiBSuyEI3s7OB/wuku/uFQBJwA/Aw8Li7twQ+BwbHM6iIiJxatEMuyUCKmSUDpwE7gZ7ArOD+qcDVsY8nIiLRKrLQ3X07MBHYRqTI9wG5wF53PxzMlgecHa+QIiJStOSiZjCzM4D+QHNgLzATuKKAWQv8DgEzux24HaBmzZqdzj///BKHFRGpjHJzc//X3VOLmq/IQgd+BHzk7rsBzGw2cAlQ18ySg630JsCOghZ29ywgCyA9Pd1zcnKi/CeIiAiAmW2NZr5oxtC3AV3N7DQzM+By4APgTeDaYJ6BwJySBBURkdiIZgx9GZGdn+8Ca4JlsoC7gBFmtgmoD2THMaeIiBQhmiEX3P1+4P6TJm8BOsc8kYiIlEhUhS4iUpRDhw6Rl5fHgQMHEh2lwqpRowZNmjShatWqJVpehS4iMZGXl0etWrVo1qwZkd1tUhzuzp49e8jLy6N58+Yl+h2hLvSX3tvOIwvWs2PvfhrXTWFUZiuu7qDD5UXi4cCBAyrzUjAz6tevz+7du0v8O0Jb6C+9t50xs9ew/9ARALbv3c+Y2WsAVOoicaIyL53Srr/QftviIwvWHy/zY/YfOsIjC9YnKJGISHyFttB37N1frOkiUrElJSWRlpZGmzZtaN++PY899hhHjx5NdCwAFi5cSKdOnWjbti2dOnXijTfeiMvjhHbIpXHdFLYXUN6N66YkII2IxFtKSgorV64EID8/nxtvvJF9+/YxduzYUv/uI0eOkJSUVOLlzzzzTF5++WUaN27M2rVryczMZPv27aXOdbLQbqGPymxFStVvPwEpVZMYldkqQYlEpKw0aNCArKwsnnzySdydI0eOMGrUKC666CLatWvHf//3fwNw9OhR7rjjDtq0aUO/fv3o06cPs2ZFvkS2WbNmjBs3ju7duzNz5kw2b95M79696dSpEz169ODDDz8EYPfu3fzkJz/hoosu4qKLLmLJkiXfydOhQwcaN24MQJs2bThw4ADffPNNzP/dod1CP7bjU0e5iJS94cOHH99ajpW0tDQmTZoU9fznnnsuR48eJT8/nzlz5lCnTh1WrFjBN998Q7du3cjIyCA3N5ePP/6YNWvWkJ+fT+vWrRk0aNDx31GjRg0WL14MwOWXX85TTz1Fy5YtWbZsGXfccQdvvPEGv/rVr7jzzjvp3r0727ZtIzMzk3Xr1hWa64UXXqBDhw5Ur1695CujEKEtdIiUugpcpPJyj3wJ7Ouvv87q1auPb33v27ePjRs3snjxYgYMGECVKlVo2LAhl1122beWv/766wH46quv+Ne//sWAAQOO33dsC/sf//gHH3zwwfHpX3zxBV9++SW1atX6Tp7333+fu+66i9dffz22/9BAqAtdRBKjOFvS8bJlyxaSkpJo0KAB7s7kyZPJzMz81jzz5s075e+oWbMmEBmaqVu3boF/dRw9epSlS5eSknLq/XN5eXn8+Mc/Ztq0abRo0aKY/5rohHYMXUQqr927d/Pzn/+cYcOGYWZkZmby5z//mUOHDgGwYcMGvv76a7p3784LL7zA0aNH2bVrF2+99VaBv6927do0b96cmTNnApEt/1WrVgGQkZHBk08+eXzegkp/79699O3blwkTJtCtW7cY/2v/Q4UuIqGwf//+44ct/uhHPyIjI4P77498p+CQIUO44IIL6NixIxdeeCFDhw7l8OHD/OQnP6FJkybHp3Xp0oU6deoU+PufffZZsrOzad++PW3atGHOnMg3hj/xxBPk5OTQrl07LrjgAp566qnvLPvkk0+yadMmfv/735OWlkZaWhr5+fkxXwd2bIypLOgEFyLhtW7dOlq3bp3oGMX21Vdfcfrpp7Nnzx46d+7MkiVLaNiwYcLyFLQezSzX3dOLWlZj6CJSqfXr14+9e/dy8OBB7rvvvoSWeWmp0EWkUits3Lwi0hi6iMRMWQ7hhlFp11+RhW5mrcxs5Qk/X5jZcDOrZ2YLzWxjcHlGqZKISIVWo0YN9uzZo1IvoWPfh16jRo0S/44ih1zcfT2QBmBmScB24EVgNLDI3R8ys9HB7btKnEREKrQmTZqQl5dXqu/zruyOnbGopIo7hn45sNndt5pZf+DSYPpU4C1U6CKVVtWqVUt8ph2JjeKOod8APBdcP8vddwIElw1iGUxERIon6kI3s2rAVcDM4jyAmd1uZjlmlqM/xURE4qc4W+hXAO+6+67g9i4zawQQXBb4sSd3z3L3dHdPT01NLV1aEREpVHEK/b/4z3ALwFxgYHB9IDAnVqFERKT4oip0MzsN6AXMPmHyQ0AvM9sY3PdQ7OOJiEi0ojrKxd3/DdQ/adoeIke9iIhIOaBPioqIhIQKXUQkJFToIiIhoUIXEQkJFbqISEio0EVEQkKFLiISEip0EZGQUKGLiISECl1EJCRU6CIiIaFCFxEJCRW6iEhIqNBFREJChS4iEhIqdBGRkFChi4iERLSnoKtrZrPM7EMzW2dmF5tZPTNbaGYbg8sz4h1WREQKF+0W+h+A19z9fKA9sA4YDSxy95bAouC2iIgkSJGFbma1gR8A2QDuftDd9wL9ganBbFOBq+MVUkREihbNFvq5wG7gL2b2npn9j5nVBM5y950AwWWDOOYUEZEiRFPoyUBH4M/u3gH4mmIMr5jZ7WaWY2Y5u3fvLmFMEREpSjSFngfkufuy4PYsIgW/y8waAQSX+QUt7O5Z7p7u7umpqamxyCwiIgUostDd/VPgEzNrFUy6HPgAmAsMDKYNBObEJaGIiEQlOcr5/g/wrJlVA7YAtxH5z+DvZjYY2AYMiE9EERGJRlSF7u4rgfQC7ro8tnFERKSk9ElREZGQUKGLiISECl1EJCRU6CIiIaFCFxEJCRW6iEhIqNBFREJChS4iEhIqdBGRkFChi4iEhApdRCQkVOgiIiGhQhcRCQkVuohISKjQRURCQoUuIhISKnQRkZCI6oxFZvYx8CVwBDjs7ulmVg+YATQDPgauc/fP4xNTRESKUpwt9MvcPc3dj52KbjSwyN1bAouC2yIikiClGXLpD0wNrk8Fri59HBERKaloC92B180s18xuD6ad5e47AYLLBvEIKCIi0YlqDB3o5u47zKwBsNDMPoz2AYL/AG4HOOecc0oQUUREohHVFrq77wgu84EXgc7ALjNrBBBc5heybJa7p7t7empqamxSi4jIdxRZ6GZW08xqHbsOZABrgbnAwGC2gcCceIUUEZGiRTPkchbwopkdm/9v7v6ama0A/m5mg4FtwID4xRQRkaIUWejuvgVoX8D0PcDl8QglIiLFp0+KioiEhApdRCQkVOgiIiGhQhcRCQkVuohISKjQRURCQoUuIhISKnQRkZBQoYuIhIQKXUQkJFToIiIhoUIXEQkJFbqISEio0EVEQkKFLiISEip0EZGQUKGLiIRE1IVuZklm9p6ZvRLcbm5my8xso5nNMLNq8YspIiJFKc4W+q+AdSfcfhh43N1bAp8Dg2MZTEREiieqQjezJkBf4H+C2wb0BGYFs0wFro5HQBERiU60W+iTgN8AR4Pb9YG97n44uJ0HnF3QgmZ2u5nlmFnO7t27SxVWREQKV2Shm1k/IN/dc0+cXMCsXtDy7p7l7ununp6amlrCmCIiUpTkKObpBlxlZn2AGkBtIlvsdc0sOdhKbwLsiF9MEREpSpFb6O4+xt2buHsz4AbgDXe/CXgTuDaYbSAwJ24pRUSkSKU5Dv0uYISZbSIypp4dm0giIlIS0Qy5HOfubwFvBde3AJ1jH0lEREpCnxQVEQkJFbqISEio0EVEQkKFLiISEip0EZGQUKGLiISECl1EJCRU6CIiIaFCFxEJCRW6iEhIqNBFREJChS4iEhIqdBGRkFChi4iEhApdRCQkVOgiIiGhQhcRCYkiC93MapjZcjNbZWbvm9nYYHpzM1tmZhvNbIaZVYt/XBERKUw0W+jfAD3dvT2QBvQ2s67Aw8Dj7t4S+BwYHL+YIiJSlCIL3SO+Cm5WDX4c6AnMCqZPBa6OS0IREYlKVGPoZpZkZiuBfGAhsBnY6+6Hg1nygLMLWfZ2M8sxs5zdu3eXKOSqVavIysoq0bIiIpVFVIXu7kfcPQ1oAnQGWhc0WyHLZrl7urunp6amlijkn/70J4YOHcrQoUM5ePBgiX6HiEjYJRdnZnffa2ZvAV2BumaWHGylNwF2xCEfECn0+vXrM2HCBNauXcusWbNo1KhRvB5ORKRCiuYol1QzqxtcTwF+BKwD3gSuDWYbCMyJV8ikpCTGjx/PjBkzWLlyJenp6SxfvjxeDyciUiFFM+TSCHjTzFYDK4CF7v4KcBcwwsw2AfWB7PjFjLjuuutYunQp1atXp0ePHvzlL3+J90OKiFQYRQ65uPtqoEMB07cQGU8vU+3atWPFihVcf/31DBo0iPfee49HH32UqlWrlnUUEZFypUJ+UrR+/fq89tpr/PrXv2by5Mn06tWLkh5BIyISFhWy0AGSk5OZOHEizzzzDMuWLSM9PZ1333030bFERBKmwhb6MTfffDNLlizB3bnkkkvIzo77UL6ISLlU4QsdoGPHjuTm5tKjRw+GDBnC4MGD2b9/f6JjiYiUqVAUOkBqaiqvvfYa9957L1OmTOGSSy5hy5YtiY4lIlJmQlPoEDle/fe//z2vvPIKW7dupWPHjrz88suJjiUiUiZCVejH9O3bl9zcXFq0aMFVV13F3XffzeHDh4teUESkAgtloQM0b96cJUuW8LOf/YwJEyaQmZlJfn5+omOJiMRNaAsdoEaNGmRlZTFlyhT+9a9/0aFDBxYvXpzoWCIicRHqQj/mtttuY+nSpaSkpHDppZcyfvx4jh49muhYIiIxVSkKHSAtLY3c3FyuvfZa7rnnHjIzM/n0008THUtEJGYqTaED1KlTh+eee46srCwWL15MWloa//jHPxIdS0QkJipVoQOYGT/72c9Yvnw59erVIyMjg3vvvVdHwYhIhVfpCv2Ytm3bsmLFCm677TYefPBBLrvsMvLy8hIdS0SkxCptoQPUrFmT7Oxspk+fzsqVK2nfvr0+iCQiFValLvRjbrrpJnJzcznnnHO46qqrGDZsmL4LRkQqnGhOQfc9M3vTzNaZ2ftm9qtgej0zW2hmG4PLM+IfN37OO+88li5dyvDhw/njH/9Ip06dWLlyZaJjiYhELZot9MPAr929NZGTQ//SzC4ARgOL3L0lsCi4XaHVqFGDxx9/nAULFrB37146d+7MxIkTdcy6iFQIRRa6u+9093eD618SOUH02UB/YGow21Tg6niFLGsZGRmsXr2avn37MmrUKHr16qUdpiJS7hVrDN3MmhE5v+gy4Cx33wmR0gcaxDpcIp155pnMnj2bp59+mnfeeYd27doxa9asRMcSESlU1IVuZqcDLwDD3f2LYix3u5nlmFlORTvvp5kxZMgQVq5cyfe//30GDBjAbbfdxpdffpnoaCIi3xFVoZtZVSJl/qy7zw4m7zKzRsH9jYACv8rQ3bPcPd3d01NTU2ORucy1bNmSJUuWcM899zBt2jTat2/PP//5z0THEhH5lmiOcjEgG1jn7o+dcNdcYGBwfSAwJ/bxyo+qVavywAMP8Pbbb1OlShUuvfRShg8fzr///e9ERxMRAaLbQu8G3AL0NLOVwU8f4CGgl5ltBHoFt0OvW7durFq1imHDhvGHP/yBDh06sHTp0kTHEhGJ6iiXxe5u7t7O3dOCn/nuvsfdL3f3lsHlZ2URuDyoWbMmkydPZtGiRRw4cIDu3bszevRovvnmm0RHE5FKTJ8ULYWePXuyZs0aBg0axMMPP0ynTp3Izc1NdCwRqaRU6KVUu3Ztnn76aebPn8/nn39Oly5duP/++zl48GCio4lIJaNCj5ErrriCtWvXcuONNzJu3Dg6derE8uXLEx1LRCoRFXoMnXHGGUybNo2XX36Zzz//nIsvvpgRI0bw9ddfJzqaiFQCKvQ46NevHx988AFDhw7l8ccf58ILL2ThwoWJjiUiIadCj5PatWvzpz/9ibfffptq1aqRkZHBrbfeymefVZqDgUSkjKnQ46xHjx6sWrWKu+++m+nTp9O6dWtmzpyJuyc6moiEjAq9DNSoUYMHH3yQnJwcmjRpwnXXXUf//v3ZunVroqOJSIio0MtQWloay5Yt45FHHmHRokW0bt2ahx9+WIc4ikhMqNDLWHJyMiNHjmTdunVkZmYyevRoOnTowNtvv53oaCJSwZX7Qn/pve10e+gNmo+eR7eH3uCl97YnOlJMnHPOObz44ovMnTuXr7/+mh/+8IfceuutVLSvGBaR8qNcF/pL721nzOw1bN+7Hwe2793PmNlrQlPqAFdeeSUffPABY8aM4dlnn6VVq1ZkZWXptHciUmzlutAfWbCe/YeOfGva/kNHeGTB+gQlio/TTjuN8ePHs2rVKtq1a8fQoUPp1q0bOTk5iY4mIhVIuS70HXv3F2t6RXfBBRfw5ptvMnXqVLZs2ULnzp0ZPHgwu3btSnQ0EakAynWhN66bUqzpYWBm/PSnP2XDhg2MGDGCadOmcd555/Hoo4/qaBgROaVyXeijMluRUjXpW9NSqiYxKrNVghKVnTp16jBx4kTWrl1Lt27dGDlyJO3atePVV19NdDQRKafKdaFf3eFsJlzTlrPrpmDA2XVTmHBNW67ucHaio5WZVq1aMX/+fObNm8fRo0fp06cP/fr1Y+PGjYmOJiLljBX1EXQzmwL0A/Ld/cJgWj1gBtAM+Bi4zt0/L+rB0tPTXTv6Su7gwYM88cQTjBs3jgMHDjBs2DDuvfde6tWrl+hoIhJHZpbr7ulFzRfNFvpfgd4nTRsNLHL3lsCi4LbEWbVq1Rg5ciQbNmzglltuYdKkSbRo0YJHH31Up78TkajOKfo2cPJXBPYHpgbXpwJXxziXnELDhg3Jzs5m1apVdO3alZEjR3L++efz3HPP6fh1kUqspGPoZ7n7ToDgskHsIkm02rZty6uvvsrrr79OnTp1uPHGG+natau+RkCkkor7TlEzu93McswsRx9rj49evXqRm5vLX//6V3bu3MkPf/hD+vfvz7p16xIdTUTKUEkLfZeZNQIILvMLm9Hds9w93d3TU1NTS/hwUpSkpCQGDhzIhg0bGD9+PG+++SYXXnght956Kx999FGi44lIGShpoc8FBgbXBwJzYhNHSislJYUxY8awefNm7rzzTp5//nlatWrFL3/5S3bu3JnoeCISR0UWupk9BywFWplZnpkNBh4CepnZRqBXcFvKkdTUVCZOnMjmzZsZPHgwWVlZtGjRgt/85jfs2bMn0fFEJA6KPA49lnQceuJs3ryZsWPHMn36dE4//XRGjBjBiBEjqF27dqKjiUgRYnkcuoRAixYtmDZtGmvWrKFXr16MHTuW5s2b88ADD7Bv375ExxORGFChVzJt2rThhRdeYMWKFVxyySXcd999NG3alPvvv5/PPjv54wYiUpGo0Cup9PR0Xn75ZXJzc+nZsyfjxo2jWbNm3H333TprkkgFpUKv5Dp27Mjs2bNZvXo1ffr04aGHHqJZs2aMHDmSTz/9NNHxRKQYVOgCRD51+vzzz/P+++9zzTXX8Pjjj9O8eXN+8YtfsGnTpkTHE5EoqNDlW1q3bs0zzzzD+vXrufnmm5kyZQrnnXceAwYMYPny5YmOJyKnoEKXAn3/+9/n6aef5uOPP2b06NEsXLiQLl26cOmllzJ//nzK8nBXEYmOCl1OqVGjRowfP55PPvmExx57jM2bN9O3b1/atm3L1KlT9bW9IuWICl2iUqtWLe688062bNnCtGnTqFKlCrfeeitNmzbld7/7nXagipQDKnQplqpVq3LLLbewatUqFixYQHp6OmPHjuWcc87h5ptv1ji7SAKp0KVEzIyMjAxeeeUVNmzYwB133MHcuXPp0qULXbt25W9/+xsHDx5MdEyRSkWFLqXWsmVLJk2axPbt25k8eTKfffYZN910E02bNuW3v/0tW7duTXREkUpBhS4xU6tWLYYNG8aHH37I/Pnz6dixIw888ADNmzenT58+zJkzh8OHDyc6pkhoVfhvW3zpve08smA9O/bup3HdFEZltuLqDmfH9DGk5LZu3Up2djbZ2dns2LGDxo0bM2jQIIYMGULTpk0THU+kQoj22xYrdKG/9N52xsxew/5DR45PS6maxIRr2qrUy5nDhw8zb948srKyePXVVwHo3bs3gwYN4sorr6R69eoJTihSflWKr899ZMH6b5U5wP5DR3hkwfoEJZLCJCcn079/f+bNm8dHH33Efffdx+rVqxkwYACNGjXiF7/4Be+8844+sCRSChW60Hfs3V+s6VI+NG3alLFjx7J161YWLFhAnz59mDp1KhdffDHnn38+Dz74INu2bUt0TJEKp1SFbma9zWy9mW0ys9GxChWtxnVTijVdypekpCQyMjKYPn06n376KdnZ2TRs2JB7772XZs2a0bNnT7Kzs/U97SJRKvEYupklARuInFM0D1gB/Je7f1DYMhpDj78w7CTesmUL06dPZ9q0aWzevJnk5GQyMjK4/vrr6d+/P3Xq1El0RJGoxOr9GPedomZ2MfA7d88Mbo8BcPcJhS2jo1ziK2z/wbk7ubm5zJgxg7///e9s27aN6tWr07t3b66//nquvPJKTj/99ETHFClQLN+PZVHo1wK93X1IcPsWoIu7DytsGZ0kOr66PfQG2wvYf3B23RSWjO6ZgESx4+688847zJgxg5kzZ7Jjxw5SUlLo3bs311xzDf369aNu3bqJjilyXCzfj2VxlIsVMO07/zuY2e1mlmNmOTq1WXyFeSexmXHxxRczadIkPvnkE/75z38yaNAgli1bxi233EJqaio33nhjomOKHJeI92NpCj0P+N4Jt5sAO06eyd2z3D3d3dNTU1NL8XBSlMqyk7hKlSr84Ac/4Mknn+STTz5h6dKljBgxgnPPPTfR0USOS8T7MbkUy64AWppZc2A7cAOgTaQEGpXZqsAxu1GZrRKYKr6qVKlC165d6dq1a6KjiHxLIt6PJS50dz9sZsOABUASMMXd349ZMim2YztatJNYJPES8X6s0B/9FxGpDCrFR/9FROQ/VOgiIiGhQhcRCQkVuohISKjQRURCQoUuIhISZXrYopntBkp6xuAzgf+NYZxYUa7iUa7iUa7iCWuupu5e5Efty7TQS8PMcqI5DrOsKVfxKFfxKFfxVPZcGnIREQkJFbqISEhUpELPSnSAQihX8ShX8ShX8VTqXBVmDF1ERE6tIm2hi4jIKZS7Qjez3ma23sw2mdnoAu6vbmYzgvuXmVmzMsj0PTN708zWmdn7ZvarAua51Mz2mdnK4Oe38c4VPO7HZrYmeMzvfJWlRTwRrK/VZtaxDDK1OmE9rDSzL8xs+EnzlMn6MrMpZpZvZmtPmFbPzBaa2cbg8oxClh0YzLPRzAaWQa5HzOzD4Hl60cwKPKdeUc95HHL9zsy2n/Bc9Slk2VO+d+OQa8YJmT42s5WFLBvP9VVgNyTsNebu5eaHyPeqbwbOBaoBq4ALTprnDuCp4PoNwIwyyNUI6BhcrwVsKCDXpcArCVhnHwNnnuL+PsCrRE4Z2BVYloDn9FMix9GW+foCfgB0BNaeMO3/AaOD66OBhwtYrh6wJbg8I7h+RpxzZQDJwfWHC8oVzXMeh1y/A0ZG8Tyf8r0b61wn3f8o8NsErK8CuyFRr7HytoXeGdjk7lvc/SDwPND/pHn6A1OD67OAy82soPObxoy773T3d4PrXwLrgIpy1oj+wDSPeAeoa2aNyvDxLwc2u3tJP1BWKu7+NvDZSZNPfA1NBa4uYNFMYKG7f+bunwMLgd7xzOXur7v74eDmO0RO61imCllf0YjmvRuXXMH7/zrguVg9XrRO0Q0JeY2Vt0I/G/jkhNt5fLc4j88TvPj3AfXLJB0QDPF0AJYVcPfFZrbKzF41szZlFMmB180s18xuL+D+aNZpPN1A4W+0RKwvgLPcfSdE3pBAgwLmSfR6G0TkL6uCFPWcx8OwYChoSiHDB4lcXz2AXe6+sZD7y2R9ndQNCXmNlbdCL2hL++TDcKKZJy7M7HTgBWC4u39x0t3vEhlWaA9MBl4qi0xAN3fvCFwB/NLMfnDS/YlcX9WAq4CZBdydqPUVrUSut3uAw8CzhcxS1HMea38GWgBpwE4iwxsnS9j6Av6LU2+dx319FdENhS5WwLRSrbPyVuh5wPdOuN0E2FHYPGaWDNShZH8iFouZVSXyhD3r7rNPvt/dv3D3r4Lr84GqZnZmvHO5+47gMh94kcifvieKZp3GyxXAu+6+6+Q7ErW+AruODTsFl/kFzJOQ9RbsGOsH3OTBQOvJonjOY8rdd7n7EXc/CjxdyOMlan0lA9cAMwqbJ97rq5BuSMhrrLwV+gqgpZk1D7bubgDmnjTPXODY3uBrgTcKe+HHSjBGlw2sc/fHCpmn4bGxfDPrTGTd7olzrppmVuvYdSI71daeNNtc4KcW0RXYd+xPwTJQ6JZTItbXCU58DQ0E5hQwzwIgw8zOCIYYMoJpcWNmvYG7gKvc/d+FzBPNcx7rXCfuc/lxIY8XzXs3Hn4EfOjueQXdGe/1dYpuSMxrLB57fku517gPkT3Fm4F7gmnjiLzIAWoQ+RN+E7AcOLcMMnUn8qfQamBl8NMH+Dnw82CeYcD7RPbuvwNcUganeZZgAAAAuUlEQVS5zg0eb1Xw2MfW14m5DPhjsD7XAOll9DyeRqSg65wwrczXF5H/UHYCh4hsEQ0mss9lEbAxuKwXzJsO/M8Jyw4KXmebgNvKINcmImOqx15jx47magzMP9VzHudczwSvndVEiqrRybmC299578YzVzD9r8deUyfMW5brq7BuSMhrTJ8UFREJifI25CIiIiWkQhcRCQkVuohISKjQRURCQoUuIhISKnQRkZBQoYuIhIQKXUQkJP4/J+Cco6q0OZsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "xp = [0,0.5,1,5,20]\n",
    "yp = [13,2,76,0,0]\n",
    "x = np.linspace(0,9,10000)\n",
    "y= f(p,x)\n",
    "plt.scatter(xp,yp)\n",
    "plt.plot(x,y, color = 'black', label='Degree 2');\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[29.62564419343209], [-4.826046441705662], [0.1660105800305912]]"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
